我正在尝试使用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的人可以重现此行为?
--verbose
运行时尝试使用该选项。