如何在任意数量的失败后停止phpunit

时间:2014-05-28 18:21:23

标签: unit-testing selenium phpunit

一些背景知识:我已经编写了一些硒测试来点击我们的一些内部网站并检查错误。目前这些测试发现了很多错误,这很好 - 我希望这些测试每6小时左右自动运行一次,并通过电子邮件向我的团队发送测试结果,作为解决所有这些错误的灵感我们有。但是,我也不是真的希望phpunit每隔6小时向所有人发送999999错误。我希望错误的数量更合理,例如,每次20个。

所以,我的问题是:在X失败后有没有办法停止phpunit?我知道你可以在1次失败后使用--stop-on-failure停止它,但我希望它在任意数量的失败后停止。

我可以想办法通过将失败作为异常,然后保留一个计算异常数量的静态变量等来实现这一目标,但这似乎是hacky和不必要的。有谁知道更好的方法吗?在此先感谢您的帮助。

1 个答案:

答案 0 :(得分:2)

实现一个PHPUnit测试监听器,它将使用静态变量计算检测到的错误和故障的数量。

然后当达到错误阈值时,您最好的选择可能是在侦听器的startTest方法上抛出异常,因此不会执行其他测试,但我还没有检查过。

指向相关PHPUnit文档部分的链接:

Example of creating a Test Listener.

Enabling the test listener in the XML config file.