如果由于测试失败而退出,鼻子测试是否会忽略最小覆盖率?

时间:2018-09-06 13:37:40

标签: python unit-testing nose

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

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

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

如果任何测试失败,如何使覆盖范围检查中止/忽略?

1 个答案:

答案 0 :(得分:0)

  

如果任何测试失败,如何使覆盖范围检查中止/忽略?

使用coverage调用nose2nosetests,其中-F中的nose2意味着快速失败,与-x中的nosetests相同

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