当运行Gradle的Jacoco插件时,我在一组选定的类上得到零代码覆盖率报告。我已经确认测试这些类的所有单元测试都已成功运行。
非常有趣的是,EclEmma在Eclipse中生成了正确的代码覆盖率结果。我已经确认这两个工具使用的是相同版本的Jacoco。
我想知道这两种工具的区别是什么?我需要Gradle Jacoco插件的额外配置吗。
编辑:我的Gradle Jacoco输出显示“com类的执行数据/…不匹配”
更新:我在Eclipse中打开了Jacoco生成的test.exec文件。它显示覆盖缺失的类执行了80%的探测。
还要检查单元测试是否实际运行。如果您对Junit5有jar hell,它可能会默默地失败。添加信息并检查错误消息。
在切换到gradle包装器时,我也遇到了同样的问题,但还是用gradle运行jacoco。用gradle包装器运行jacoco解决了这个问题。
这个被stackoverflow接受的答案帮助我找出我错过了什么。
这可能意味着jacoco插件在gradle中没有正确配置。在这里,您可以找到Jacoco和gradle的常见错误清单(感谢Taeho Kim的明确回答):https://stackoverflow.com/a/23965581/2166900
此外,以下是我在上一个Android项目中使用的配置,它对我很有用:
apply plugin: 'jacoco'
jacoco {
toolVersion = "0.7.2.+"
}
def coverageSourceDirs = [
'src/main/java'
]
task jacocoTestReport(type:JacocoReport, dependsOn: "testDebug") {
group = "Reporting"
description = "Generate Jacoco coverage reports"
classDirectories = fileTree(
dir: 'build/intermediates/classes/debug',
excludes: ['**/R.class',
'**/R$*.class',
'**/*$ViewInjector*.*',
'**/BuildConfig.*',
'**/Manifest*.*']
)
additionalSourceDirs = files(coverageSourceDirs)
sourceDirectories = files(coverageSourceDirs)
executionData = files('build/jacoco/testDebug.exec')
reports {
xml.enabled = false
html.enabled = true
}
}
我使用sonarqube作为测试结果的输出,而maven和Jacoco用于测试测试用例。 Sonarqube版本是5.4 Maven版本是3.3.9 Jacoco版本0.7 这是我的pom.xml 我也在这里跟踪这个链接,但是对于我正在使用的文件,请在这里输入链接描述。 这就是我构建测试项目的方式 buiild返回成功,但没有生成代码覆盖率我还通过去sonarqube检查了这一点localhost
当我运行mvn干净测试时,我希望覆盖输出被写入目标/覆盖报告,但是当我打开index.html构建后它是空的。 我检查了以下内容,jacoco.exec文件存在,其中有一组类名-在覆盖率html中有一个链接“Sessions ”,当我单击它时,我看到一组我的类似乎已经被执行-当我运行maven命令时,我没有看到错误或警告 我很困惑为什么报告是空的。从我看到的所有例子来看,这似乎应该行得通。我错过了
JaCoCo报告总是显示0%的覆盖率,但是Intellij集成报告是可以的。我已经看到其他StackOverflow问题,但没有帮助。下面是我在pom.xml配置中的jacoco-plugin和surefire-plugin snnipet: 编辑: 我最后的尝试是命令肯定火和哈科插件,但它不起作用。与肯定火和哈科插件有什么关系吗?
我正在更新一个继承的存储库,它的测试覆盖率很差。回购本身是一个pytest插件。我已经改变了回购使用随着,并转换原始测试使用作为测试插件时pytest留档建议。 测试和毒物构建等。工作得很好。然而,覆盖是报告错误的错失,例如类定义、导入等。这是因为代码本身作为pytest实例化的一部分被导入,直到测试真正开始才被“覆盖”。 我已经阅读了pytest文档、pytest cov和coverage文档以
我有一个项目,我使用Jacoco计算代码覆盖率。我使用maven配置,如下所示: http://www.petrikainulainen.net/programming/maven/creating-code-coverage-reports-for-unit-and-integration-tests-with-the-jacoco-maven-plugin/ 我和詹金斯一起运行“mvn清洁安装
我使用maven-surefire-plugin内置功能使用了Flaky测试重新运行机制。此外,我还基于而不是添加了cucumber依赖项。它们都有自己版本的cucumber-java和cucumber-jvm依赖项。 现在,我需要另一个运行程序,其中包含以下代码(根据StackOverflow上的其他论坛和线程) 但我不需要有这个第二个跑者,因为重新运行机制工作绝对出色,只有一个跑者在顶部。ma