如果一个或多个测试被认为是有风险的,我希望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.
它说"好的,但不完整",所以我的测试没有失败(并且可以在连续交付的情况下发货)。有什么方法可以达到"失败"状态吗?我希望我的测试全局状态在有风险的测试中被视为失败,不知道这是否可能。
您可以在调用 PHPUnit 可执行文件时使用 --fail-on-risky
标志,或者在 phpunit.xml 中将 failOnRisky="true"
属性设置为 <phpunit>
元素。
与 --stop-on-risky
/stopOnRisky="true"
相反,当 PHPUnit 遇到有风险的测试时,这不会停止测试套件,但它会使 PHPUnit 以非零状态代码退出,就像其中一个测试失败时一样。
有一个
--stop-on-risky
选项可以从命令行启用或在phpunit.xml
中配置。
这样做的问题是运行进程不会执行所有测试。我不知道将有风险的测试视为失败的直接方法。
你想要获得的行为已被提出但未被接受,所以不要指望被实现:
https://github.com/sebastianbergmann/phpunit/issues/1612