如何在多个Python脚本运行中获得组合代码覆盖率

时间:2014-02-27 17:30:33

标签: python code-coverage python-coverage

我有一个python程序,通过使用不同的输入运行它几次,并将输出与参考结果进行比较来测试。

我想获得所有测试的代码覆盖率,所以我可以看看是否有额外的输入集我应该用来获得完整的覆盖率。我已经看过覆盖模块,但无法弄清楚我是如何做到这一点的。

任何线索?

2 个答案:

答案 0 :(得分:11)

如果在同一台计算机上运行,​​请使用-a选项运行该选项,该选项会在多个呼叫中累积覆盖率数据。

示例:

coverage erase

coverage run -a <command> [arguments, ...]

coverage run -a <command> ... # repeat as many times as needed.

coverage report

coverage html

doc:http://coverage.readthedocs.org/en/latest/cmd.html#data-file

希望这有帮助。

答案 1 :(得分:2)

Ned Batchelder的coverage.pyfeature to combine the results of multiple runs,这似乎正是您所寻找的。