- android - 多次调用 OnPrimaryClipChangedListener
- android - 无法更新 RecyclerView 中的 TextView 字段
- android.database.CursorIndexOutOfBoundsException : Index 0 requested, 光标大小为 0
- android - 使用 AppCompat 时,我们是否需要明确指定其 UI 组件(Spinner、EditText)颜色
我有一个多模块 Android 项目,我发现 jacoco 报告的覆盖范围与 Sonarqube 报告的覆盖范围之间存在差异。该项目也是一个多风格项目,会产生许多不同的变体。我正在使用this plugin帮助我生成所有任务。这些任务为每个变体生成单独的报告。
当我运行 jacoco 报告时,我看到以下内容:
我的项目中有一些排除项,但即使没有它们,覆盖范围 %s 也不匹配。
我觉得我可能没有提供与 this question: 中暗示的相同的字节码
这是我的相关信息: Sonar 版本 5.6。
Gradle 运行者
plugins { id "org.sonarqube" version "2.0.1" }
Sonar 配置:(在根 build.gradle 上)
sonarqube {
properties {
property "sonar.projectKey", "com.xxx.myApp"
property "sonar.projectName", "Android My App"
property "sonar.projectVersion", "3.0"
property "sonar.java.binaries", "build/classes"
property "sonar.coveragePlugin", "jacoco"
property "sonar.jacoco.reportMissing.force.zero", "false"
}
}
Sonar 配置(在 app/build.gradle 上)
sonarqube {
properties {
property "sonar.sources", "src/main/java"
property "sonar.tests", "src/test/java"
property "sonar.java.tests", "src/test/java"
property "sonar.junit.reportsPath", "build/test-results/myAppGoogleMobileDebug"
property "sonar.java.binaries", "build/intermediates/classes/myAppGoogleMobile/debug"
property "sonar.jacoco.reportPath", "build/jacoco/testMyAppGoogleMobileDebugUnitTest.exec"
property "sonar.coverage.exclusions", coverageExclusions
}
}
Jacoco 配置 (app/build.gradle)
def coverageExclusions = ['**/AEWatchApp.*', '**/**_Factory.*',
'**/QaSettingsActivity.*',
'com/aetn/android/tveapps/activities/**',
'com/aetn/android/tveapps/test/**',
'com/aetn/android/tveapps/app/injection/modules/**',
'com/aetn/android/tveapps/app/injection/components/**',
'com.aetn.android.tveapps.mock/**',
'com/aetn/android/tveapps/databinding/**']
jacocoAndroidUnitTestReport {
csv.enabled false
html.enabled true
xml.enabled true
excludes += coverageExclusions
}
最佳答案
据我所知,分支机构覆盖率是相同的:两种情况均为 40%,其中 15 个未覆盖。
“说明”(如 JaCoCo 报告的屏幕截图所示)与其他任何内容的比较就像苹果和橙子的比较 - 它们并不代表同一件事。请参阅http://www.eclemma.org/jacoco/trunk/doc/counters.html关于 JaCoCo 提供的计数器。和https://docs.sonarqube.org/latest/user-guide/metric-definitions关于 SonarQube 显示的内容。指令覆盖范围仅在 JaCoCo 中呈现。
“行”(SonarQube 屏幕截图中显示的“27.1%”)与“指令”不同:单行代码通常包含许多字节码指令。例如,如果总共 10 行中有 100 条指令,并且 1 行有 20 条指令,那么错过指令的概率为 80%,但错过行的概率为 90%。
所以总而言之,没有差异,或者至少没有显示在您的屏幕截图上。
关于android - Sonarqube 整体覆盖范围与 jacoco 报告覆盖范围不匹配,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/50679283/
我正在阅读Head First Design Patterns一书,在第382页上说: Composite Patterns is used when you have collection of o
我将我的电脑用作 wifi 热点,并将其他设备连接到它。然后使用wireshark,我可以看到特定设备上发送/接收的数据包,但是我怎样才能看到设备正在查看的完整网页而不是单独的数据包? 最佳答案 尝试
在 URL 中打开我的 Jenkins 时,我似乎无法登录它会抛出消息“用户缺少整体/读取权限”。我试过answer来自类似的问题,但禁用安全性不起作用。 Jenkins 继续抛出错误。有人建议我一起
我已经使用工具分配测试了我的应用程序并得到了这张图片: 如图所示,我的应用程序正常工作,但它通常以总字节数计值吗?我担心“#Allocations (Net/Overall)”,因为它的颜色是红色。这
我遵循教程 Deployment on Tomcat without modification of monitored webapps (beta) .监控站点正在运行,我可以看到统计页面。问题是
所以我有一个 div,其中整个东西都是一个 anchor 标记,我试图控制颜色在悬停时的显示方式并获得不同的结果。希望我能用 CSS 做到这一点。发生的事情是悬停,一个文本发生变化,但另一个没有。但是
我创建了一个程序,您可以在其中输入行驶的英里数和每 jar 油使用的加仑数,该程序会显示每 jar 油的 mpg。我使用的是 Visual Studio 2010。当我输入标记值 -1 时,系统会给出
我有一个由 N 个节点组成的 zookeeper 集群(彼此了解)。如果我在 zk 客户端连接字符串中只传递 M < N 个节点地址怎么办?集群的行为是什么? 在更具体的情况下,如果我只从集群中传递
我一直在试图弄清楚当使用诸如 pushViewController:animated、presentModalViewController:animated 和 UITabBarViewControl
我已经在 VIM 中安装了 minikube,并且我拥有具有所有权限的服务帐户 token 。是否有来自 kubernetes 的 API 来获取资源使用情况(总体)。 最佳答案 要获取 CPU 和内
如何通过 HTTP 客户端(例如 CURL、Insomnia、Postman 等)快速使用使用 JWT token 的 JHipster 生成的应用程序? 最佳答案 嗯,我研究了一段时间,发现你必须遵
我是一名优秀的程序员,十分优秀!