如何使PHPUnit在风险测试中失败

时间:2016-07-11 09:31:28

标签: php unit-testing phpunit

如果一个或多个测试被认为有风险,我希望PHPUnit 失败。实际上:

PHPUnit 5.3.4 by Sebastian Bergmann and contributors.

..RRR..                                                         7 / 7 (100%)

Time: 2.83 seconds, Memory: 26.00Mb

OK, but incomplete, skipped, or risky tests!
Tests: 7, Assertions: 137, Risky: 3.

它说"好,但不完整",所以我的测试没有失败(并且可以在连续交付的情况下运送)。有没有办法让#34;失败"状态?我希望我的测试全局状态在风险测试中被认为是失败的,不知道它是否可能。

2 个答案:

答案 0 :(得分:5)

您可以在调用PHPUnit可执行文件时使用public Reza(Reza reza) { field1 = reza.field1; field2 = reza.field2; ... } 标志,或将--fail-on-risky属性设置为phpunit.xml中的failOnRisky="true"元素。

<phpunit> / --stop-on-risky相反,当PHPUnit遇到风险测试时,这不会停止测试套件,但它会使PHPUnit以非零状态代码退出,就像当一个测试失败了。

答案 1 :(得分:1)

可以从命令行启用--stop-on-risky选项,也可以在phpunit.xml中配置。

这个问题是运行过程不会执行所有测试。我不知道将风险测试视为失败的直接方法。

您想要获得的行为是建议但未被接受,因此不希望实施:

https://github.com/sebastianbergmann/phpunit/issues/1612