2013-12-21 37 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中運行時設置它們,而不是我嘲笑它們。如果我只是單元測試嘲笑會好的,我想要集成測試。 –