【问题标题】:Understanding code coverage report in phpunit了解 phpunit 中的代码覆盖率报告
【发布时间】:2014-09-01 20:50:03
【问题描述】:

我在 php 中运行了几个单元测试并生成了代码覆盖率报告:

phpunit --coverage-text ./report testBlahBlah.php

结果如下:

 Summary:
 Classes: 0.00%(0/1)
 Methods : 55.56% (10/18)
 Lines 56.58% (43/76)

Class BlahBlah
Methods: 77.78(14/18) Lines 56.58 %(43/76)

我想了解这份报告的含义。任何人都可以对此有所了解。这里讨论的是哪个班级,因为无论如何每个被测班级的报告也会出现。为什么摘要和代码类中的方法百分比不同,因为只存在一个类。有人能理解吗?

【问题讨论】:

  • 我已经编辑了问题,也为被测类添加了报告。

标签: php unit-testing phpunit


【解决方案1】:

php 单元测试测试项目中所有涉及的类。在(所有类的)所有行中,涵盖了 8 行。

如果一个方法的 100% 行被覆盖,那么该方法被覆盖。这八行似乎只集中在一种方法中。

如果一个类的 100% 的行被覆盖。该课程也包括在内。由于您的测试项目只涉及一个类,因此涵盖了 8/76。没有涵盖该类。

覆盖率报告在大多数情况下是测试大型库(包含数百个类)时的摘要。该报告仅对测试进行了总结,因此人们可以决定是否需要进行额外的测试。

【讨论】:

  • 我相信它实际上需要 100% 覆盖一个类/方法才能计算它的覆盖率。
  • @npfedwards:据我所知,您可以设置一个参数。此外,有时甚至不可能(或很难)达到 100%。
  • 啊,我一定只是遇到了 100% 的默认值。我认为 100% 应该是我们的目标。
猜你喜欢
  • 2014-04-16
  • 2019-04-24
  • 2012-08-23
  • 2018-05-29
  • 2011-03-09
  • 1970-01-01
  • 2014-03-21
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多