15

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

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

有什么线索吗?

4

2 回答 2

24

如果在同一台机器上运行,请使用选项运行它,该-a选项会在多个调用中累积覆盖数据。

例子:

coverage erase

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

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

coverage report

coverage html

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

希望这可以帮助。

于 2016-01-08T19:39:28.300 回答
3

Ned Batchelder 的coverage.py具有组合多次运行结果的功能,这似乎正是您要寻找的。

于 2014-02-27T17:44:19.467 回答