我正在將laravel 3站點升級到laravel 4,並且在我去的時候爲它編寫單元測試。這個工作很好,我在大約20個測試用例中已經進行了大約300次測試,並且每個測試都能夠單獨運行。直到最近,他們都工作正常運行起來,但我似乎已經越過某個閾值,我不能沒有下面的錯誤運行一氣呵成任何測試:如果太多,Laravel測試失敗
PHP Fatal error: Illuminate\Filesystem\Filesystem::getRequire(): Failed opening required '/Users/Me/Desktop/Repos/API-2/app/config/api.php' (include_path='.:/Applications/MAMP/bin/php/php5.4.4/lib/php') in /Users/Me/Desktop/Repos/API-2/vendor/laravel/framework/src/Illuminate/Filesystem/Filesystem.php on line 53
它未能包括的配置文件幾乎在每一個單獨的測試中都會用到,而且當所有的測試用例單獨運行時都能正常工作,所以我不明白爲什麼只有當它們全部一起運行時纔會發生這種錯誤。
這個錯誤顯示當測試接近完成時,所以我的第一個雖然是內存或執行時間限制,我試過在php.ini中加倍這些,但我不認爲它們適用於CLI?我不確定還有什麼可能導致這樣的問題,只有當所有這些問題一起運行時纔會發生這種問題?
編輯
難道沒有人知道什麼可能會造成這個? 目前我可以立即運行所有測試做的最好的是下面的bash腳本,然後滾動雖然結果查找錯誤的網頁...
#!/bin/bash
for f in app/tests/*Test.php ; do phpunit "$f" ; done
您是否嘗試過使用'--process-isolation'選項? http://phpunit.de/manual/3.7/en/textui.html – SamV
我假設我只是執行'phpunit --process-isolation'?我不知道是否我做錯了,因爲每次測試失敗時,我都這樣做:/'已定義常量LARAVEL_START' –
在項目目錄中編輯'phpunit.xml'並將值設置爲'true' 。 – SamV