【问题标题】:Sonar Kotlin Object 0% coverageSonar Kotlin 对象 0% 覆盖率
【发布时间】:2020-06-24 14:23:46
【问题描述】:

在我的项目中,我创建了一个对象来保存一些要在项目模块中使用的常量,例如成功/错误消息,但是当我运行声纳扫描时,它报告的文件覆盖率为 0%。

我尝试测试常量值以检查 Sonar 是否会看到它被覆盖,但它没有,实际上它确实显示 object Messages {} 未被覆盖,而不是里面的行:

我怎样才能用测试覆盖它,这样 Sonar 就不会将它报告为 0% 覆盖?

【问题讨论】:

  • 为什么会出现问题?
  • 为什么不是?它将减少我的代码覆盖率、行覆盖率、新代码覆盖率等
  • 好吧,这个覆盖有点毫无意义,特别是如果你尝试添加测试只是为了更多的覆盖。它没有任何价值
  • 是的,我同意你的观点,但在某些情况下我们需要这种测试,只是为了增加覆盖率,在我的情况下,每次我们提交一些运行 Sonar 的新版本时,它都需要 95 %+ 新的代码覆盖率,在我的情况下,这种情况大大减少了它,但实际上,它作为真正的测试没有任何价值。

标签: unit-testing kotlin junit sonarqube


【解决方案1】:

修复它的最简单方法是创建一个测试来检查对象是否为空

使用 Kotlin 和 JUnit

val obj = Messages
assertNotNull(obj)

【讨论】:

    猜你喜欢
    • 2013-02-07
    • 2012-12-22
    • 1970-01-01
    • 2018-07-24
    • 2012-06-30
    • 2012-06-11
    • 2015-10-06
    • 2012-09-07
    • 2012-10-16
    相关资源
    最近更新 更多