我有一個symfony2應用程序,我正在使用phpunit。phpunit重置測試之間的環境
我有一些單元測試,我使用mock來模擬AppKernel和功能測試,它們會嚮應用程序發出「真實」請求。單獨運行單元測試或功能測試時,一切正常。
當我想要一次運行所有測試時,它變得很討厭。一旦單元測試完成後,PHPUnit的停止,告訴我:
Fatal error: Cannot redeclare class AppKernel in C:\Users\sebastian\workspace\ppInterface\app\AppKernel.php on line 35
我不明白這一點,因爲我認爲PHPUnit的將運行在它自己的環境,每個測試。這似乎並非如此。我能做些什麼來使事情正確並「重置」測試運行的環境?
'@ runTestsInSeparateProcesses'的偉大工程!我將它添加到測試中,現在它們都運行沒有問題。然而,我想將它添加到我的phpunit.xml中,但找不到要添加它的文檔。我想將它添加到我的xml中的中定義的組中。那可能嗎? –
Sgoettschkes
請記住,隨着應用程序的增長,在單獨的進程中運行測試將開始顯着減慢。您可能需要考慮以兩組方式運行測試:使用嘲諷的測試和不篡改的測試。 –
當然,你可以在你的'phpunit.xml'中配置它:只需在''處添加'processIsolation =「true」'。 –
mAu