[英]Python sub-process coverage on Travis
我看过几篇关于这个主题的文章,但似乎没有一篇对我有用。
案子
一个 Python package 与基于unittest
的测试, pytest
作为测试运行器和插件,如pytest-cov
来支持coverage
。 在本地一切正常,所有测试都执行并通过,计算所有测试的覆盖率,包括使用subprocess.check_output
的 CLI 测试。
问题
不知何故,在 Travis 方面,没有为 CLI 测试计算覆盖率。 无论我做什么,无论我在何处以及多少次包含coverage.pth
或sitecustomize.py
(在此处阅读有关它的更多信息),都不包括CLI 的覆盖范围。
显而易见的问题
我究竟做错了什么?
作为对解决它所做的工作的回顾(对于可能需要答案的人),问题在于我的tox
配置。
之前(虽然测试通过,但效果不佳)
[testenv]
# Some other config above this line
commands =
pytest
之后(我真正做到了 100% 覆盖)
[testenv]
# Some other config above this line
commands =
coverage erase
pip install -e .
pytest
pip install -e.
显然是这里的关键。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.