4

我按照这里
的说明操作, 我没有使用 Maven。

我的 Jenkins 作业输出显示:12:32:33.951 INFO Sensor JaCoCoSensor... 12:32:33.961 INFO 项目覆盖率设置为 0%,因为没有转储 JaCoCo 执行数据:/var/lib/jenkins/workspace/SeqGen/ SeqGen/jacoco.exec 12:32:35.152 信息传感器 JaCoCoSensor 完成:1201 毫秒

这是我的属性:

project.home=SeqGen
sonar.projectKey=com.skyboximaging:seqgen
sonar.projectName="SeqGen"
sonar.projectVersion=1.0
sonar.dynamicAnalysis=true
sources=src/java
tests=test/java
binaries=classes
sonar.jacoco.reportPath=jacoco.exec
sonar.jacoco.antTargets=test-with-coverage

在 Sonar 服务器上,我将 General Settings > Code Coverage > Code coverage plugin 设置为 jacoco

我对http://docs.codehaus.org/display/SONAR/Code+coverage+plugins上的文档感到非常困惑 我对这句话特别困惑:“在声纳分析期间,Sonar Jacoco 插件会注意附加Jacoco 代理到 JVM 并启动单元测试。”

据我所知,我的 Ant 目标没有被调用。Sonar Jacoco 插件如何知道在哪里可以找到我的 build.xml?

我究竟做错了什么?

4

3 回答 3

5

他们刚刚发布了您需要的内容:https ://wiki.jenkins-ci.org/display/JENKINS/JaCoCo+Plugin

于 2012-08-23T07:32:21.490 回答
3

为下一个花费数小时试图找出为什么这不起作用的可怜的灵魂提供答案。显然此功能已被删除:

移除插件中的“sonar.jacoco.antTargets”属性和相关类

于 2013-08-15T17:19:24.813 回答
1

一种可能是 junit 的 ant 任务名称与属性中指定的名称不匹配。

您已指定

sonar.jacoco.antTargets=test-with-coverage

根据文档,应该有一个名称完全相同的 ant 目标。同样在这个目标中,junit 也应该设置为 fork。

于 2012-01-18T09:38:56.783 回答