【问题标题】:PHPUnit, coverage report showing non-code line as not covered?PHPUnit,覆盖报告显示非代码行未被覆盖?
【发布时间】:2023-03-14 18:44:01
【问题描述】:

我有一个很有趣的单元测试。测试通过了,但代码覆盖率报告显示了一个特定的行,即注释,没有被覆盖,这会影响代码覆盖率统计:

被测试类的定义如下:

class User implements UserInterface, \Serializable

当我删除 , \Serializable 部分时,问题消失了,但是我的代码会以其他方式中断,这不是解决方案。

有人知道为什么会发生这种情况吗?

phpunit --version 

Sebastian Bergmann 的 PHPUnit 3.6.11。

【问题讨论】:

  • 可能是警告它永远不会返回值?
  • 我尝试删除@return,但没有效果。
  • 当我从评论中删除 @param 行时,问题就消失了,但是这就是 docblock 和 phpcs 的下水道。
  • 我的另一个观察结果是,当我从班级中删除工具 \Serializable 部分时,问题完全消失了。
  • 我在 Github 上创建了一个错误报告:github.com/sebastianbergmann/php-code-coverage/issues/101

标签: php phpunit


【解决方案1】:

看起来像 PHPUnit 令牌流解析器中的一个错误,而且这种行为绝对不是预期的。

我不认为您可以通过创建错误报告来做更多的事情。

【讨论】:

  • 我同意,我将保留代码原样,等待开发人员的下一次更新。
猜你喜欢
  • 2013-07-26
  • 2016-03-21
  • 2014-04-16
  • 1970-01-01
  • 2014-03-21
  • 2022-11-30
  • 2012-08-23
  • 2018-06-25
  • 2018-05-29
相关资源
最近更新 更多