Im генерации отчета охват jacoco с помощью следующей цели:JaCoCo расстановок отчет покрытия (исключить тестовые классы)
<target name="report" depends="test">
<!-- This task needs the collected execution data and ... -->
<executiondata>
<file file="${result.exec.file}" />
</executiondata>
<!-- the class files and optional source files ... -->
<structure name="JaCoCo Ant Example">
<classfiles>
<fileset dir="${result.classes.dir}" />
</classfiles>
<sourcefiles encoding="UTF-8">
<fileset dir="${src.dir}" >
<exclude name="**/*Test*.class"/>
</fileset>
</sourcefiles>
</structure>
<!-- to produce reports in different formats. -->
<html destdir="${result.report.dir}" />
<csv destfile="${result.report.dir}/report.csv" />
<xml destfile="${result.report.dir}/report.xml" />
</jacoco:report>
</target>
Проблема заключается в том, что отчет учитывает код из модульных тестов, и я считаю этого факта ошибка. Таким образом, процент покрытия вашей полосы покрытия и охват команд будут искусственно увеличены (поскольку тестовые линии считаются покрытыми на 100%), и правильность отчета сильно затронута. Я пытался добавить этот тег
<exclude name="**/*Test*.class"/
под тэгом набора файлов, в надежде, что testClasses будут исключены, но оно не работает. У вас есть идеи по моей проблеме? Я хочу избежать программной модификации отчета . Спасибо!
Когда вышеупомянутое изменение сделано для 'build.xml', исключенный класс по-прежнему является частью отчета с' 0% 'покрытием или исключенным классом или пакетом завершен удален, а не частью отчета? Ценю вашу помощь. – Rao