我已经用 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
如果您需要任何进一步的信息,请告诉我