gpt4 book ai didi

java - "No information about coverage per test."来自带有 Jacoco Ant 构建的 Sonar

转载 作者:塔克拉玛干 更新时间:2023-11-03 03:00:41 24 4
gpt4 key购买 nike

我正在使用 Ant、Jacoco 和 Sonar。当我运行构建时,Sonar 告诉我“没有关于每次测试覆盖率的信息”。 Sonar 仪表板有我的覆盖结果,但我无法深入查看它们以查看代码。然而,由 Jacoco 生成的 HTML 报告确实包含深入代码。这是我的报道任务:

    <jacoco:coverage destfile="${coverage.output.file}" >
<junit printsummary="on"
errorProperty="test.failed"
failureProperty="test.failed"
haltonfailure="yes"
fork="true">
<formatter type="brief" usefile="false" />
<formatter type="xml" />
<classpath>
<path refid="test.build.class.path"/>
<pathelement location="${test.bin.dir}"/>
</classpath>
<batchtest todir="${results.dir}">
<fileset dir="${test.bin.dir}">
<include name = "**/**/*Test.class"/>
</fileset>
</batchtest>
</junit>
</jacoco:coverage>

<jacoco:report>
<executiondata>
<file file="${coverage.output.file}"/>
</executiondata>
<structure name="${ant.project.name}">
<classfiles>
<fileset dir="${bin.dir}"/>
</classfiles>
<sourcefiles encoding="UTF-8">
<fileset dir="${src.dir}"/>
</sourcefiles>
</structure>
<html destdir="${coverage.results.dir}"/>
</jacoco:report>
</target>

我的 Sonar 目标看起来像这样:

<target name="sonar" depends = "run">
<property name="sonar.jdbc.url" value="..." />
<property name="sonar.jdbc.username" value="...r" />
<property name="sonar.jdbc.password" value="..." />

<property name="sonar.projectKey" value="org.codehaus.sonar:example-java-ant" />
<property name="sonar.projectName" value="${ant.project.name} (ant)" />
<property name="sonar.projectVersion" value="1.0" />
<property name="sonar.language" value="java" />
<property name="sonar.sources" value="${src.dir}" />
<property name="sonar.binaries" value="${bin.dir},${test.bin.dir}" />
<property name="sonar.libraries" value="${lib.dir}/*.jar" />

<property name="sonar.dynamicAnalysis" value="reuseReports" />
<property name="sonar.surefire.reportsPath" value="${results.dir}" />
<property name="sonar.java.coveragePlugin" value="jacoco" />
<property name="sonar.jacoco.reportPath" value="${coverage.output.file}" />

<taskdef uri="antlib:org.sonar.ant" resource="org/sonar/ant/antlib.xml">
<classpath>
<fileset dir="${lib.dir}" includes="sonar-ant-task-2.0.jar"/>
</classpath>
</taskdef>

<sonar:sonar />
</target>

有人知道我错过了什么吗?

最佳答案

看起来您还没有设置“sonar.tests”属性来告诉 Sonar 在哪里可以找到单元测试的源代码。参见 http://docs.sonarqube.org/display/SONAR/Analysis+Parameters .

大卫·拉科顿 | Sonar 源

关于java - "No information about coverage per test."来自带有 Jacoco Ant 构建的 Sonar,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16615558/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com