我爲我的PHP應用程序編寫了幾個PHPUnit測試。我正在開發兩臺同步整個開發文件系統的開發機器,並且有一個自動測試系統在一個乾淨的svn checkout上運行測試。Phpunit在不同的機器上表現不同
現在,奇怪的事情正在發生。其中一臺開發機器運行Ubuntu Linux 10.10,PHP 5.3.3,phpunit 3.4.6,後來我升級到3.4.14。當我在每個測試中運行phpunit時,所有的測試都通過了。當我在我的xml配置文件上運行phpunit時,只運行phpunit --configuration=phpunit.cfg
,最後一個測試用例失敗,並返回Class myClass not found
錯誤。此類位於使用require_once
加載的文件中。升級phpunit沒有任何區別。
編輯:我有一種感覺,文件PHP包括使用require_once
不復位在我的Linux機器,但類的列表實際上是失去了,那就是,它認爲它已經 已經包含myclass.php
而裏面的類沒有加載。
現在,另一臺機器運行Mac OS X Snow Leopard 10.6.5,PHP 5.3.3和phpunit 3.4.3。如果我單獨運行單元測試,就不會發生錯誤,就像在Linux上一樣,但是當我使用xml配置運行測試時,也不會出現任何錯誤。我們還有一個運行linux 10.4 LTS,PHP 5.2.6和phpunit 3.4.9的自動測試環境。也沒有錯誤。
所有系統使用完全相同的文件,因此源代碼或測試沒有區別。而且phpunit.xml也是一樣的。
我感覺完全在黑暗中。我怎樣才能找出問題的癥結所在?
Linux開發機器和Macbook都運行PHP 5.3.3。自動測試機器正在運行5.2.6
PHPUnit版本? – 2010-12-09 17:34:44