我从Sonar GitHub repo中的“java gradle simple”示例开始:
https://github.com/SonarSource/sonar-examples/tree/master/projects/languages/java/gradle/java-gradle-simple
我已经将jacoco插件添加到我的构建中。gradle文件在一个空文件中查看单元测试覆盖率结果,我看到警告:
没有收集覆盖信息。也许您忘记将调试信息包含到编译类中?
我目前运行的是4.3版。这是我在运行“gradle test jacocoTestReport sonarRunner”后看到的:
我的身材。gradle文件如下所示:
apply plugin: 'java'
apply plugin: 'sonar-runner'
apply plugin: 'jacoco'
allprojects {
ext.baseVersion = "0.1"
ext.snapshotVersion = true
group = "org.sonar.tests"
version = "$baseVersion" + (snapshotVersion ? "-SNAPSHOT" : "")
}
sonarRunner {
sonarProperties {
property "sonar.projectName", "Simple Java Gradle Project"
property "sonar.projectKey", "org.codehaus.sonar:example-java-gradle"
property "sonar.jacoco.reportPath", "${project.buildDir}/jacoco/test.exec"
property "sonar.binaries", "${project.buildDir}/classes"
property "sonar.sources", "src/main"
property "sonar.tests", "src/test"
property "sonar.java.coveragePlugin", "jacoco"
}
}
buildscript {
repositories { mavenCentral() }
dependencies { classpath 'org.ajoberstar:gradle-jacoco:0.1.0' }
}
test {
ignoreFailures = true
}
dependencies {
testCompile group: 'junit', name: 'junit', version: '4.10'
}
repositories {
mavenCentral()
}
是否有我缺少的其他配置?令人惊讶的是,关于使用Gradle生成声纳单元测试覆盖率的信息似乎并不多。
由于您使用的是jdk 8,因此应将以下块添加到gradle脚本中:
jacoco {
toolVersion = "0.7.0.201403182114"
}
另外,您应该确保您的sonar版本支持jdk8
我试图设置为我的项目的代码覆盖 我的项目基于 下面是我项目的 然后我运行并看到以下内容 然后我运行,我看到 问题 -配置中有什么不正确 -如何生成报告? 谢啦
我一直在尝试在JBoss服务器中实现JaCoCo离线代码覆盖,使用仪表化的EAR进行部署和jacococagent.jar,以便跟踪针对所述JBoss运行的外部集成测试的代码覆盖。 我一直在关注这样的指南: http://www.eclemma.org/jacoco/trunk/doc/offline.html http://automationrhapsody.com/code-coverage
当运行Gradle的Jacoco插件时,我在一组选定的类上得到零代码覆盖率报告。我已经确认测试这些类的所有单元测试都已成功运行。 非常有趣的是,EclEmma在Eclipse中生成了正确的代码覆盖率结果。我已经确认这两个工具使用的是相同版本的Jacoco。 我想知道这两种工具的区别是什么?我需要Gradle Jacoco插件的额外配置吗。 编辑:我的Gradle Jacoco输出显示“com类的执
我有一个与jacoco的项目,我希望能够过滤某些类和/或包。 我阅读了以下文档: 使用Sonarrunner和Gradle(不使用sonar)从Jacoco报告中排除包 Jacoco-从报表中排除JSP(它似乎适用于maven,我使用的是gradle) Maven Jacoco配置-从不工作的报告中排除类/包(这似乎适用于Maven,我使用的是gradle)
我在测试android以创建覆盖率测试报告时遇到问题。我使用./gradlew createDebugCoverageReport命令创建覆盖率报告。已创建报告,但所有测试的结果均为%0。第一个设备已植根,但第二个设备未植根。我们使用这两个设备测试勺子,并查看勺子输出。所以这两个设备一起使用。问题:当我们使用第一个设备(根设备)运行此命令时,将按预期创建所有覆盖率测试结果,但当我们同时使用两个设备