2013-12-21 39 views
0

除了使用PHPUnit进行单元测试之外,我还希望进行集成测试,其中加载了我的php测试,就像一个php页面将包含所有可用于测试的Apache上下文(以及方法测试)。PHPUnit和Apache的集成测试

在JUnit和Spring中,我将通过使用AbstractJUnit4SpringContextTests类来完成此操作,该类将加载应用程序上下文并使其可用于测试。我在PHPUnit documentation中看不到类似的概念。

如果您无法(或不想)嘲笑测试PHP代码所需的一切,有没有办法通过Apache运行PHPUnit测试?

作为一个具体的例子,我想测试一个调用X现有方法的方法,其中许多方法使用_SERVER数组或其他特定于请求的变量,我不能在没有大量工作的情况下进行模拟。

回答

0

我从来没有尝试这一点,但它应该工作:

public function testSomeMethod() 
{ 
    $_SERVER['some-var'] = 'some value'; 

    $x = $this->obj->getSomething(); 
    $this->assertEquals('expected', $x); 
} 

您还可以备份$ _ SERVER变量并在以后恢复它。

+0

好吧,但这实际上是嘲笑_SERVER变种。我正在使用_SERVER中的很多值创建应用程序,我希望它们能够在Apache中运行时设置它们,而不是我嘲笑它们。如果我只是单元测试嘲笑会好的,我想要集成测试。 –