2
當我在我的Symfony2項目運行PHPUnit的,測試總是失敗,在第一次運行:Symfony2的單元測試失敗,在第一次運行,成功在後來的運行
$ phpunit -c app src/Project/MyBundle/Tests/Controller/SomeTest.php
PHPUnit 3.7.19 by Sebastian Bergmann.
Configuration read from src/main/app/phpunit.xml
E
Time: 1 second, Memory: 24.25Mb
There was 1 error:
1) Project\MyBundle\Tests\Controller\RegistrationTest::testStdRegistration
PHPUnit_Framework_Exception: PHP Fatal error: Interface 'Swift_Events_SendListener' not found in src/main/vendor/swiftmailer/swiftmailer/lib/classes/Swift/Plugins/MessageLogger.php on line 19
PHP Stack trace:
PHP 1. {main}() -:0
PHP 2. require_once() -:542
FAILURES!
Tests: 1, Assertions: 0, Errors: 1.
如果我再重新啓動測試,一切都經過良好。沒有錯誤。我想這一切都歸結爲文件緩存/測試/ appTestDebugProjectContainer.php 存在這個文件在第一次運行測試之前不存在。運行完成後,它會在以下測試中創建和使用。我始終處於Symfony2確保的印象之中,所有相關文件都是在第一次測試運行之前創建的,但似乎並非如此。 那麼我該如何解決這個問題?我應該在測試開始之前嘗試手動預熱緩存嗎,還是必須修改我的測試以等待緩存文件的創建?
謝謝!它解決了這個問題。不過,我很好奇爲什麼Symfony在引導測試時沒有創建所需的文件。 – kepakiano