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

rap*_*2-h 3 php phpunit unit-testing

如果一个或多个测试被认为有风险,我希望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.
Run Code Online (Sandbox Code Playgroud)

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

Nic*_*tel 6

您可以--fail-on-risky在调用PHPUnit可执行文件时使用该标志,或将该failOnRisky="true"属性设置为<phpunit>phpunit.xml中的元素.

--stop-on-risky/ 相反,stopOnRisky="true"当PHPUnit遇到风险测试时,它不会停止测试套件,但它会使PHPUnit以非零状态代码退出,就像其中一个测试失败时一样.


gon*_*lez 5

有一个--stop-on-risky选项可以从命令行启用或在phpunit.xml.

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

您想要获得的行为已被提议但未被接受,因此不要期望实现:

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