1

我已经用 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

如果您需要任何进一步的信息,请告诉我

4

1 回答 1

0

不应该

<property name="sonar.jacoco.reportPath" value="target/jacoco.exec" />

<property name="sonar.jacoco.reportPath" value="${project.target}/jacoco.exec" />

给定你上面的属性?

于 2012-10-18T18:10:31.910 回答