如何获取多次运行Python脚本后的代码覆盖率统计

20 投票
2 回答
7802 浏览
提问于 2025-04-17 20:20

我有一个用Python写的程序,我通过多次运行它,输入不同的数据,然后把输出结果和参考结果进行对比,来测试这个程序。

我想要知道所有测试的代码覆盖率,这样我就能看看是否还有其他输入组合可以用来确保测试覆盖全面。我查过覆盖率模块,但不知道怎么用它来实现这个功能。

有没有什么提示呢?

2 个回答

4

Ned Batchelder的coverage.py工具有一个可以合并多次运行结果的功能,这看起来正是你需要的。

31

如果在同一台机器上运行,可以使用 -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

希望这对你有帮助。

撰写回答