Java 没有向sonar报告单元测试成功值

Java 没有向sonar报告单元测试成功值,java,jenkins,sonarqube,sonar-runner,Java,Jenkins,Sonarqube,Sonar Runner,我正在使用Jenkins和Sonar,通过ANT脚本执行JavaEE应用程序的构建 构建工作正常,单元测试用例也运行正常 我目前得到的单元测试覆盖率为%,但“单元测试成功”显示为零。当我点击Sonar仪表板上的“0测试”链接时,我会看到Sonar运行的Java EE应用程序的不同模块,正如Jenkins使用的build.xml中定义的那样 在网上进行了一些研究并阅读了此链接上的一个类似问题后- 我在Java EE应用程序根文件夹中的my build.xml(Jenkins使用)和位于build.

我正在使用Jenkins和Sonar,通过ANT脚本执行JavaEE应用程序的构建

构建工作正常,单元测试用例也运行正常

我目前得到的单元测试覆盖率为%,但“单元测试成功”显示为零。当我点击Sonar仪表板上的“0测试”链接时,我会看到Sonar运行的Java EE应用程序的不同模块,正如Jenkins使用的build.xml中定义的那样

在网上进行了一些研究并阅读了此链接上的一个类似问题后-

我在Java EE应用程序根文件夹中的my build.xml(Jenkins使用)和位于build.xml文件中定义为模块的每个子文件夹中的sonar.xml文件中添加了以下属性标记:

<property name="sonar.java.coveragePlugin" value="jacoco" />
<property name="sonar.junit.reportsPath" value="ABCD/testreport/" />
<property name="sonar.jacoco.reportPath" value="ABCD/build/classes/jacoco.exec" />

其中“ABCD”是我用来存放Junit测试用例JAVA文件的目录

ANT脚本xml文件确实包含一个junit任务,它在Jenkins构建中编译并执行我的单元测试用例,然后将hanndle交给Sonar。因为我知道我得到了一个单元测试覆盖率,我知道这些单元测试在一定程度上被看到了,但是我还需要采取什么额外的步骤才能使单元测试成功显示为大于零的值呢

请告知

提前谢谢


Subbu

您是否正在生成单元测试报告?可能与Ant不同,但是当使用Maven和surefire插件时,它会为/target/surefire reports下的每个测试生成XML报告。Sonar可以分析这些报告以确定覆盖范围等。您是否正确指定了“Sonar.tests”属性?嗨,伙计们。谢谢你的回复。根据我的理解,我已经指定“sonar.tests”指向单元测试用例源目录。创建jacoco.exec文件后,我会确保它存在于解决方案的“target”目录中。我得到了单元测试用例代码覆盖率,但是“单元测试成功”值仍然显示为零。在这一点上,我已经尽了我所能。当我仔细阅读詹金斯的日志时,我看到了这个:传感器JacocoSensor。。。分析“F:\workspace\..\jacoco.exec”…没有关于每个测试覆盖率的信息。我正在生成基于xml的Junit报告,并已将“sonar.Junit.reportsPath”属性设置为指向该文件夹。Sonar从零更新“单元测试成功”值仍然没有成功。