Travis上的Python子进程覆盖率

Travis上的Python子进程覆盖率,python,travis-ci,coverage.py,Python,Travis Ci,Coverage.py,我看过几篇关于这个主题的文章,但似乎没有一篇适合我 案例 一个Python包,包含基于unittest,pytest作为测试运行程序的测试,以及类似pytestcov的插件,以支持覆盖范围。所有测试都在本地正常工作,所有测试都已执行并通过,所有测试的覆盖率都已计算,包括使用子流程的CLI测试。请检查\u输出 该项目: Travis生成的覆盖率报告: 本地生成的覆盖率报告: 问题 在Travis方面,没有计算CLI测试的覆盖率。无论我做什么,无论我在何处和多少次包含coverage.pth或s

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

案例

一个Python包,包含基于
unittest
pytest
作为测试运行程序的测试,以及类似
pytestcov
的插件,以支持
覆盖范围。所有测试都在本地正常工作,所有测试都已执行并通过,所有测试的覆盖率都已计算,包括使用
子流程的CLI测试。请检查\u输出

  • 该项目:
  • Travis生成的覆盖率报告:
  • 本地生成的覆盖率报告:
问题

在Travis方面,没有计算CLI测试的覆盖率。无论我做什么,无论我在何处和多少次包含
coverage.pth
sitecustomize.py
(),都不包含CLI的覆盖范围

显而易见的问题


我做错了什么?

回顾一下为解决这个问题所做的工作(对于那些可能需要答案的人来说),问题出在我配置的
tox

之前(虽然测试通过,但效果不佳)

之后(在那里我得到了100%的覆盖率)

pip安装-e.
显然是这里的关键

[testenv]
# Some other config above this line
commands =
    pytest
[testenv]
# Some other config above this line
commands =
    coverage erase
    pip install -e .
    pytest