我正在尝试使用 PHPUnit 测试 symfony2应用程序。我有一个项目,一切都按预期运行,但在我的另一个项目中,我有一个奇怪的行为: PHPUnit 要么在所有测试结束时随机停止执行测试套件,重新启动或者在完成测试套件并编写代码覆盖率后重新启动测试。其他时候运行正常。
下面是一些可见的输出(测试是一遍又一遍地重新启动) :
PHPUnit 3.6.10 by Sebastian Bergmann.
Configuration read from C:\workspace\cllctr\app\phpunit.xml
................................................................. 65 / 83 ( 78%)
...........PHPUnit 3.6.10 by Sebastian Bergmann.
Configuration read from C:\workspace\cllctr\app\phpunit.xml
................................................................. 65 / 83 ( 78%)
...PHPUnit 3.6.10 by Sebastian Bergmann.
Configuration read from C:\workspace\cllctr\app\phpunit.xml
................................................................. 65 / 83 ( 78%)
............PHPUnit 3.6.10 by Sebastian Bergmann.
Configuration read from C:\workspace\cllctr\app\phpunit.xml
................................................................. 65 / 83 ( 78%)
............PHPUnit 3.6.10 by Sebastian Bergmann.
Configuration read from C:\workspace\cllctr\app\phpunit.xml
................................................................. 65 / 83 ( 78%)
..................
Time: 01:03, Memory: 43.00Mb
OK (83 tests, 145 assertions)
Writing code coverage data to XML file, this may take a moment.
Generating code coverage report, this may take a moment.
下面是执行所有测试后重新启动测试套件的示例:
PHPUnit 3.6.10 by Sebastian Bergmann.
Configuration read from C:\workspace\cllctr\app\phpunit.xml
................................................................. 65 / 83 ( 78%)
..................
Time: 01:29, Memory: 53.25Mb
OK (83 tests, 145 assertions)
Writing code coverage data to XML file, this may take a moment.
Generating code coverage report, this may take a moment.
PHPUnit 3.6.10 by Sebastian Bergmann.
Configuration read from C:\workspace\cllctr\app\phpunit.xml
................................................................. 65 / 83 ( 78%)
............PHPUnit 3.6.10 by Sebastian Bergmann.
由于我的其他项目运行时没有任何问题,所以我的代码中一定存在一些问题。但我不知道是什么触发了这种行为!日志没有显示任何意外/奇怪的情况。
剪辑
昨天,我注意到一些奇怪的事情: 由于一些不相关的原因,我决定从 MongoDB 切换到 MySQL。转换完成后,所有测试运行时都没有任何问题。我尝试了很多次,但我不能再复制它了。由于这只发生在我的功能测试中,我倾向于认为问题出在我的 WebTestCase 类上,它运行一些命令来清除和重新构建数据库。也许也使用 MongoDB 的人可以重现这种行为?