Я пытаюсь настроить jacoco, чтобы получить покрытие для моих тестов интеграции. Я запускаю свои интеграционные тесты против причала (используя плагин maven). Но даже если я передаю агент в джемом args при запуске сервера причалов, отчет jacoco показывает 0%. Вот мой pom.xmlПлагин Jacoco и jetty maven получает 0% покрытия
<groupId>org.eclipse.jetty</groupId>
<artifactId>jetty-maven-plugin</artifactId>
<executions>
<execution>
<id>start-jetty</id>
<phase>pre-integration-test</phase>
<goals>
<goal>run-forked</goal>
</goals>
<configuration>
<waitForChild>false</waitForChild>
<jvmArgs>-Denv=it -Djetty.port=8081 ${failsafeArgLine}</jvmArgs>
<webApp>
<contextPath>/myContext</contextPath>
</webApp>
</configuration>
</execution>
<execution>
<id>stop-jetty</id>
<phase>post-integration-test</phase>
<goals>
<goal>stop</goal>
</goals>
</execution>
</executions>
<configuration>
<stopPort>8082</stopPort>
<stopKey>test</stopKey>
</configuration>
</plugin>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-failsafe-plugin</artifactId>
<version>2.12.4</version>
<configuration>
<includes>
<include>**/*IntegrationTest.java</include>
</includes>
</configuration>
<executions>
<execution>
<goals>
<goal>integration-test</goal>
<goal>verify</goal>
</goals>
<configuration>
<argLine>${failsafeArgLine}</argLine>
</configuration>
</execution>
</executions>
</plugin>
<plugin>
<groupId>org.jacoco</groupId>
<artifactId>jacoco-maven-plugin</artifactId>
<executions>
<execution>
<id>pre-integration-test</id>
<phase>pre-integration-test</phase>
<goals>
<goal>prepare-agent</goal>
</goals>
<configuration>
<destFile>${project.build.directory}/coverage-reports/jacoco-it.exec</destFile>
<propertyName>failsafeArgLine</propertyName>
</configuration>
</execution>
<execution>
<id>post-integration-test</id>
<phase>post-integration-test</phase>
<goals>
<goal>report</goal>
</goals>
<configuration>
<dataFile>${project.build.directory}/coverage-reports/jacoco-it.exec</dataFile>
<outputDirectory>${project.reporting.outputDirectory}/jacoco-it</outputDirectory>
</configuration>
</execution>
</executions>
</plugin>
Как вы можете видеть, я бег причала в вилке режима и я пройти jacoco агент в Params, но ничего ...
Есть ли что-то дополнительно Мне нужно добавить?
Где вы проходите файл jacocoagent.jar при передаче аргументов агента. Кроме того, вам может потребоваться остановить ваш экземпляр (причал), чтобы он мог очистить данные покрытия до файла jacoco-it.exec. После того, как Jetty остановится, если ваши тесты пройдут (с успехом или неудачей), вы увидите, что размер файла jacoco-it.exec будет расти больше, а затем jacoco сможет генерировать%. –
Куда я их проезжаю? в start-jetty ( -Denv = it -Djetty.port = 8081 $ {failafeArgLine} ) Я вижу эту строку в журналах maven - failafeArgLine установлен в -javaagent:/mypath/repository/org/jacoco/org. jacoco.agent/0.7.5.201505241946/org.jacoco.agent-0.7.5.201505241946-runtime.jar = destfile =/targetpath/keepmypet/target/coverage-reports/jacoco-it.exec –
Johny19