我有一个python程序,通过使用不同的输入运行它几次,并将输出与参考结果进行比较来测试。
我想获得所有测试的代码覆盖率,所以我可以看看是否有额外的输入集我应该用来获得完整的覆盖率。我已经看过覆盖模块,但无法弄清楚我是如何做到这一点的。
任何线索?
答案 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.py有feature to combine the results of multiple runs,这似乎正是您所寻找的。 p>