【问题标题】:Should we include private methods in @covers in PHP code coverage我们是否应该在 PHP 代码覆盖的 @covers 中包含私有方法
【发布时间】:2016-08-04 04:03:01
【问题描述】:

我想知道是否必须将 include @covers 用于私有功能。就个人而言,我反对它,因为它会破坏封装。如果你在练习干净的代码,你可能会有很多不需要测试就能看到的私有方法。赞成和反对的论据是什么?谢谢!

【问题讨论】:

    标签: php tdd code-coverage


    【解决方案1】:

    您应该专注于测试由公共方法公开的行为,而不是关注在重构期间可能经常更改的私有方法。根据我的经验,我发现使用代码覆盖工具弊大于利,因为它偏离了 TDD 的核心原则,并且经常导致开发人员玩弄指标。

    【讨论】:

    • 我同意。我发现代码覆盖率并不是一个很好的质量衡量标准,因为有些类并不是可测试的,例如:数据库、UI、文件等附近的层。根据我的经验,我发现很多 TDD 新手试图实现通过公开私有方法和使用笨拙的模拟来实现 100% 的代码覆盖率。我可以一整天都在谈论它,但这不是我关心的问题。因此,在我们与多个团队一起处理一个大型项目的情况下,需要一些代码覆盖率,PHP 中有没有办法避免将 @covers 用于私有方法?
    猜你喜欢
    • 2014-06-08
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2014-05-28
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多