首页 > 解决方案 > Travis 上的 Python 子流程覆盖

问题描述

我看过几篇关于这个主题的文章,但似乎没有一篇对我有用。

案子

一个Python包unittest,带有基于. 一切都在本地正常工作,所有测试都执行并通过,计算所有测试的覆盖率,包括使用.pytestpytest-covcoveragesubprocess.check_output

问题

不知何故,在 Travis 方面,没有为 CLI 测试计算覆盖率。无论我做什么,无论我在何处以及多少次包含coverage.pthsitecustomize.py在此处阅读更多信息),都不包括 CLI 的覆盖范围。

显而易见的问题

我究竟做错了什么?

标签: pythontravis-cicoverage.py

解决方案


作为对解决它所做的工作的回顾(对于可能需要答案的人),问题出在我的配置上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 .显然是这里的关键。


推荐阅读