【问题标题】:How to make PHPUnit fail on risky tests如何使 PHPUnit 在有风险的测试中失败
【发布时间】:2016-11-13 04:48:18
【问题描述】:

如果一个或多个测试被认为有风险,我希望 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.

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

【问题讨论】:

  • 同意,这很烦人,因为早期版本在严格模式下(或至少在测试生成输出时)在风险测试中失败

标签: php unit-testing phpunit


【解决方案1】:

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

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

【讨论】:

    【解决方案2】:

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

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

    你想要获得的行为被提议但未被接受,所以不要期望被实现:

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

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2013-07-28
      • 2017-05-24
      • 2019-01-21
      • 1970-01-01
      • 2018-10-26
      • 2015-10-31
      • 2017-06-24
      • 2020-04-13
      相关资源
      最近更新 更多