我在 python 中有一个多处理应用程序。我正在尝试在运行测试后获取覆盖率报告。我正在尝试合并覆盖率报告,但我无法一次性完成。
以下是我面临的问题。我的两个测试生成了 4 个覆盖文件。当我运行命令“coverage combine”时,出现以下错误:
Can't combine line data with arc data
要合并覆盖文件,我需要运行“coverage combine”命令 4 次。但我计划添加更多测试,这将使合并报告变得更加困难。
那么如何一次合并所有的覆盖率报告呢?
PS:我已经设置了配置文件如下:
[run]
branch = True
parallel = True
concurrency = multiprocessing
[report]
# Regexes for lines to exclude from consideration
exclude_lines =
# Have to re-enable the standard pragma
pragma: no cover
而且我能够正确获得线路覆盖率的组合报告。
编辑:
这就是我运行我的应用程序以获得覆盖率的方式
coverage --rcfile=coverage_rc_file tester_script.py test1 test2
上面的命令运行我的应用程序两次并生成 4 个覆盖文件。
然后我运行以下命令来合并结果:
coverage combine