如何去除pytest-cov输出结果中的tox路径前缀
解决pytest-cov输出tox路径前缀的问题
有三种实用方法可以让pytest-cov输出简洁的包路径,而非带tox虚拟环境的完整路径:
方法1:用开发模式安装包(推荐)
在tox.ini的[testenv]段添加usedevelop = true,让tox以可编辑模式安装你的包(等价于pip install -e .)。此时pytest-cov会直接关联本地源码目录,输出的路径就是相对源码根目录的简洁格式。
修改后的tox.ini:
[tox] envlist = py3 [testenv] usedevelop = true deps = pytest pytest-codeblocks pytest-cov commands = pytest {tty:--color=yes} {posargs} --cov=mypackagename
方法2:用.coveragerc配置相对路径
在项目根目录创建.coveragerc文件,开启相对路径输出:
[run] relative_files = true
无需修改tox.ini原有配置,pytest-cov会自动读取该配置,将输出路径转为相对项目根目录的格式。
方法3:明确指定cov的源码路径
在pytest命令里直接指定源码目录的相对路径,把原有的--cov=mypackagename替换为--cov=./mypackagename(tox默认会将项目根目录加入虚拟环境的Python路径,无需额外配置)。修改后的commands段:
commands = pytest {tty:--color=yes} {posargs} --cov=./mypackagename
内容的提问来源于stack exchange,提问作者Nico Schlömer
相关产品推荐
相关产品推荐

