【问题标题】:Can python coverage display results hierarchically?python覆盖率可以分层显示结果吗?
【发布时间】:2013-05-21 18:08:48
【问题描述】:

我使用Python code coverage tool 来监控和衡量我们的测试覆盖率。我现在在内部发布结果,使用 coverage 出色的 html 报告生成。我想将从所有模块的平面报告生成的报告更改为嵌套/分层方法,以便每个模块都显示其中模块的总计。因此,如果我当前的摘要页面如下所示:

Name                         Stmts   Miss  Cover
myapp                           33     33     0%
myapp.infra                      2      0   100%
myapp.infra.mm                  34      8    76%
myapp.infra.mmcheck            140     32    77%
myapp.job                        2      2     0%
myapp.job.jobcontrol           629    445    29%
myapp.job.launcher             334    163    51%

我想要一份总结报告,例如:

Name                         Stmts   Miss  Cover
myapp.__init__                  33     33     0%
myapp.infra                    176     40    77%
myapp.job                      965    610    37%

myapp.infra 链接到该包的索引:

Name                         Stmts   Miss  Cover
myapp.infra.__init__             2      0   100%
myapp.infra.mm                  34      8    76%
myapp.infra.mmcheck            140     32    77%

这样的能力是否已经存在,我只是太傻了,看不到它吗?还是我需要自定义报告生成?

【问题讨论】:

  • 我最终创建了覆盖范围的 html.HtmlReporter 的自定义子类。我的子类在重写 index_file 方法期间递归地创建自己的实例。

标签: python unit-testing code-coverage coverage.py python-coverage


【解决方案1】:

一种选择是使用z3c.coverage。引用自文档:

为什么使用 z3c.coverage 而不是覆盖 html?

有些人更喜欢 z3c.coverage 生成的报告的外观。 有些人发现每个包的覆盖率摘要或树状 导航方便。

听起来像你需要的。希望对您有所帮助。

【讨论】:

    猜你喜欢
    • 2011-06-01
    • 2019-09-14
    • 2017-07-05
    • 2013-08-18
    • 1970-01-01
    • 1970-01-01
    • 2015-05-31
    • 2015-10-06
    • 1970-01-01
    相关资源
    最近更新 更多