phpunit随机重新开始testing

我正在尝试使用PHPUnittesting我的symfony2应用程序。 我有一个项目,一切正常,但在另一个项目上,我有这样一个奇怪的行为,即PHPUnit在所有testing结束时随机停止执行testing套件,并在完成testing套件并编写代码后重新启动或重新启动testing覆盖。 其他时候它正常运行。

下面是一些输出来显示正在发生的事情(testing正在重新开始):

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. 

这是执行所有testing后重新启动testing套件的一个例子:

 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。 转换完成后,所有的testing运行没有任何问题。 我尝试了很多次,我无法再现它。 由于这只发生在我的functiontesting,我倾向于认为问题是我的WebTestCase类,它运行一些命令来清除和重build数据库。 也许有人也使用MongoDB可以重现这种行为?

我build议检查数据库服务器的连接限制和池。

例如,如果您已经有100个连接的最大限制,并且有些testing将连接打开(“泄漏”),那么您将达到此限制。

这也可以解释为什么有时候它有效,有时达到极限,因为你的数据库可以同时处理其他任务,所以有时候你会达到最高限度,有些时候没有别的运行,你可以成功运行你的testing。

检查持久性networking连接和其他外部资源。