如何在pyproject.toml中配置coverage生成lcov输出文件?
解决pytest-cov生成lcov文件的问题
你配置了[tool.coverage.lcov]但没生成文件,核心原因是pytest-cov默认不会自动触发lcov格式的报告生成,需要明确指定报告格式,同时确保配置路径正确。
调整配置方案
修改pyproject.toml中的addopts,添加--cov-report=lcov参数,让pytest运行时直接生成lcov报告,完整配置如下:
[tool.pytest.ini_options] addopts = "-p no:cacheprovider --cov --cov-report=lcov --no-cov-on-fail" enable_assertion_pass_hook = true python_files = "tests/*_test.py" [tool.coverage.run] branch = true data_file = ".coverage/.coverage" source = ["wwaz/assets"] [tool.coverage.report] fail_under = 95 show_missing = true [tool.coverage.lcov] output = ".coverage/.lcov"
关键说明
--cov-report=lcov:指定生成lcov格式的报告,这是触发文件输出的核心参数,默认情况下--cov只输出终端报告。- 确保
.coverage目录存在:如果运行前没有这个目录,手动执行mkdir .coverage创建,避免因路径不存在导致文件生成失败。
替代方案:单独生成lcov文件
如果不想修改pytest启动参数,也可以在运行完pytest生成覆盖率数据后,单独执行以下命令生成lcov文件:
coverage lcov
该命令会读取你配置的[tool.coverage.lcov]中的output路径,直接生成对应文件。
内容的提问来源于stack exchange,提问作者David Gard
相关产品推荐
相关产品推荐

