我已经使用ant配置了声纳,现在它正常工作我正在为我的项目集成jacoco单元测试。 我做了以下配置来实现这个目标:
<property name="project.test" location="${project.path}/test" />
<property name="project.target" location="${project.path}/target" />
<property name="project.reports" location="${project.target}/reports" />
<property name="project.reports.juint" location="${project.reports}/junit" />
<property name="sonar.tests" value="${project.test}" />
<property name="sonar.sourceEncoding" value="UTF-8" />
<property name="sonar.surefire.reportsPath" location="${reports.junit.xml.dir}" />
<property name="sonar.dynamicAnalysis" value="reuseReports" />
<property name="sonar.core.codeCoveragePlugin" value="jacoco" />
<property name="sonar.jacoco.reportPath" value="target/jacoco.exec" />
<property name="sonar.core.codeCoveragePlugin" value="jacoco" />
其中“project.path”是我的主项目文件夹,其中我有我的SRC和BUILD(包含类文件)目录。
<target name="test" depends="compile">
<taskdef name="junit" classname="org.apache.tools.ant.taskdefs.optional.junit.JUnitTask">
<classpath>
<path refid="compile.classpath"/>
</classpath>
</taskdef>
<taskdef uri="antlib:org.jacoco.ant" resource="org/jacoco/ant/antlib.xml">
</taskdef>
<jacoco:coverage destfile="target/jacoco.exec" xmlns:jacoco="antlib:org.jacoco.ant">
<junit fork="yes" dir="${basedir}" failureProperty="test.failed">
<classpath location="${project.build}" />
<classpath refid="compile.classpath" />
<formatter type="xml" />
<batchtest todir="${reports.juint.xml.dir}">
<fileset dir="${project.test}">
</fileset>
</batchtest>
</junit>
</jacoco:coverage>
</target>
但不幸的是每次我执行build.xml时都会看到以下错误以及除jacoco之外的所有内容,请有人帮助我,我需要使用 jacocoant
[sonar:sonar] 16:13:00.882 INFO p.PhasesTimeProfiler - Sensor JaCoCoSensor...
[sonar:sonar] 16:13:00.956 INFO o.s.p.j.JaCoCoPlugin - Project coverage is set to 0% as no JaCoCo execution data has been dumped: /archive/target/reports/junit/jacoco.exec
[sonar:sonar] 16:13:01.868 INFO p.PhasesTimeProfiler - Sensor JaCoCoSensor done: 986 ms
如果您需要任何进一步的信息,请告诉我
答案 0 :(得分:0)
不应该
<property name="sonar.jacoco.reportPath" value="target/jacoco.exec" />
是
<property name="sonar.jacoco.reportPath" value="${project.target}/jacoco.exec" />
鉴于上述属性?