pytest无法识别.coveragerc配置文件的问题排查
问题解决:pytest-cov无法识别.coveragerc配置文件导致无覆盖率输出
问题分析
你的核心问题是.coveragerc配置中缺少覆盖率统计目标的明确指定,导致pytest-cov不知道需要对哪个模块/目录生成覆盖率报告,因此即使加载了配置文件也不会输出覆盖率相关内容。
直接执行pytest --cov=exercise.01 ...能生效,是因为你在命令行明确指定了统计目标,而配置文件中的--cov参数没有附带目标路径,相当于没有告诉工具要分析哪些代码。
解决方案
修改.coveragerc配置文件,补充覆盖率统计目标,有两种方式可选:
方式1:在[run]段指定source参数
[run] source = exercise.01 # 指定要统计覆盖率的目标目录/模块 omit = test_* [pytest] addopts = --cov --cov-branch --cov-fail-under=90 --cov-report html
方式2:在[pytest]的addopts中明确--cov的目标
[pytest] addopts = --cov=exercise.01 --cov-branch --cov-fail-under=90 --cov-report html [run] omit = test_*
正确执行命令
- 在**根目录
playground/**下执行:pytest --cov-config=.coveragerc exercise.01/ - 或者在**
exercise.01/目录**下执行:pytest --cov-config=../.coveragerc
验证配置加载(可选)
如果仍有疑问,可以添加--debug参数查看pytest是否正确加载了.coveragerc:
pytest --cov-config=../.coveragerc --debug
在输出日志中查找是否有loaded config file相关记录,确认配置文件被正确读取。
内容的提问来源于stack exchange,提问作者Lavínia Beghini
相关产品推荐
相关产品推荐

