【问题标题】:Have nosetests ignore minimum coverage if exit due to test failure?如果由于测试失败而退出,鼻子测试是否会忽略最小覆盖率?
【发布时间】:2018-09-06 13:37:39
【问题描述】:

在我的测试运行器上确定一个 git 分支是通过还是失败,我像这样测试我的 python:

nosetests -x --with-coverage ${PACKAGE} --cover-min-percentage=80

-x(第一次失败时退出)是新增内容,因为我们希望在任何单元测试失败时立即使构建失败。但是,如果早期测试失败并且我们退出,nosetests 会错误地表示如果某些早期包的覆盖率较低,因为它无法覆盖所有内容,则未满足最小覆盖率。

如果任何测试失败,我怎样才能中止/忽略覆盖检查?

【问题讨论】:

    标签: python unit-testing nose


    【解决方案1】:

    如果任何测试失败,我怎样才能中止/忽略覆盖检查?

    使用coverage 调用nose2nosetests,其中nose2 中的-F 表示快速失败,与nosetests 中的-x 相同。

    coverage run /usr/bin/nose2-2.7 -s tests -F --plugin nose2.plugins.junitxml -C --config nose2.cfg.2 --verbose --junit-xml
    

    仅在上述测试成功或退出代码为 2 时报告,由于覆盖率小于阈值而失败。退出代码 1 将被跳过。

    coverage report -m
    

    和/或.coveragerc

    [report]
    fail_under 80.55
    precision 2
    skip_covered False
    

    https://coverage.readthedocs.io/en/coverage-4.5.1a/config.html

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2019-04-16
      • 2021-10-28
      • 1970-01-01
      相关资源
      最近更新 更多