8

有了覆盖率,我可以获得未测试函数的百分比

coverage run setup.py test ; coverage report

像这样

Name                          Stmts   Miss  Cover
-------------------------------------------------
script                          565    278    51%
setup                             6      0   100%
...

我怎样才能得到未经测试的函数的名称?

4

1 回答 1

15

如果您运行coverage report -m它,它将在输出中显示缺失列下的未覆盖行:

Name                      Stmts   Miss  Cover   Missing
-------------------------------------------------------
my_program                   20      4    80%   33-35, 39
my_other_module              56      6    89%   17-23
-------------------------------------------------------
TOTAL                        76     10    87%

如果您运行coverage html它将创建一个网页,您可以在其中浏览源代码并查看未覆盖的行以特殊颜色突出显示。

如果您希望对未覆盖的行进行自己的处理,那么您可以运行coverage xml它,它将生成一个包含缺失行的 XML 文件。

如果您真的需要nameof 函数而不仅仅是行号(例如,您希望所有函数都包含至少一个未覆盖的行),那么您必须通过阅读源代码和 xml 报告并使用您自己的程序处理它们来自己提取它.

于 2014-02-22T00:51:56.430 回答