Python coverage报告能否包含测试未导入、完全未触及的文件?
Python coverage统计未被导入文件覆盖率的实现方法
该需求可以实现,coverage工具原生支持统计完全未被测试代码导入的源码文件,只需手动指定要统计的源码范围即可。
方法1:运行时临时指定源码目录
默认情况下coverage只会统计运行过程中被导入加载过的文件,要覆盖全目录文件,只需在执行coverage run命令时添加--source参数,参数值为你要统计的源码根目录。
示例中需要统计当前目录所有Python文件,修改执行命令为:
venv/bin/coverage run --source . test.py
之后再执行coverage report就能看到module2.py出现在统计列表中,显示覆盖率为0%,输出示例如下:
Name Stmts Miss Cover -------------------------------- module1.py 1 0 100% module2.py 1 1 0% test.py 1 0 100% -------------------------------- TOTAL 3 1 67%
方法2:通过配置文件永久生效
如果不想每次执行都手动加参数,可以在项目根目录创建.coveragerc配置文件,写入以下内容:
[run] source = . # 可添加omit配置排除不需要统计的文件 omit = test.py */venv/*
配置完成后直接执行coverage run test.py即可自动应用规则,无需额外添加参数。
内容的提问来源于stack exchange,提问作者Alex028502
相关产品推荐
相关产品推荐

