Покрытие интеграционного теста через Jacoco Agent

Существует большое количество ответов, чтобы использовать агент jacoco и получить отчет о тестовом покрытии. Большинство из них имеют половинчатые ответы, и я немного смущен.

Вот что я хочу сделать: 1. Мое Java-приложение работает на каком-то удаленном сервере. скажем IP - 192.168.17.7

  1. Интеграционные тесты выполняются локально с другим репозиторием из репозитория кода приложения. Репозиторий тестового кода основан на maven.

Я запускаю тесты с помощью следующей команды: mvn -Denv=stage -Dmaven.test.failure.ignore=true -DsuiteFile=src/test/java/Smoke.xml test

Теперь, как мне получить отчет о покрытии jacoco с помощью агента jacoco.


person user2874299    schedule 01.03.2015    source источник


Ответы (1)


это плагины, которые нужно добавить

<plugin>
                        <groupId>org.apache.maven.plugins</groupId>
                        <artifactId>maven-surefire-plugin</artifactId>
                        <version>2.18</version>
                        <executions>
                            <execution>
                                <id>run-unit-tests</id>
                                <goals>
                                    <goal>test</goal>
                                </goals>
                                <configuration>
                                    <skip>${skipUnitTests}</skip>
                                    <argLine>-Xmx1024m -XX:MaxPermSize=256m</argLine>
                                </configuration>
                            </execution>
                        </executions>
                    </plugin>
                    <plugin>
                        <groupId>org.apache.maven.plugins</groupId>
                        <artifactId>maven-failsafe-plugin</artifactId>
                        <version>2.18</version>
                        <executions>
                            <execution>
                                <id>run-integration-tests</id>
                                <goals>
                                    <goal>integration-test</goal>
                                    <goal>verify</goal>
                                </goals>
                                <configuration>
                                    <skip>${skipIntegrationTests}</skip>
                                </configuration>
                            </execution>
                        </executions>
                    </plugin>

добавить этот профиль

<profile>
        <id>sonar-coverage</id>
        <build>
            <plugins>
                <plugin>
                    <groupId>org.jacoco</groupId>
                    <artifactId>jacoco-maven-plugin</artifactId>
                    <version>0.7.4.201502262128</version>
                    <configuration>
                        <append>true</append>
                    </configuration>
                    <executions>
                        <execution>
                            <id>agent-for-ut</id>
                            <goals>
                                <goal>prepare-agent</goal>
                            </goals>
                        </execution>
                        <execution>
                            <id>agent-for-it</id>
                            <goals>
                                <goal>prepare-agent-integration</goal>
                            </goals>
                        </execution>
                        <execution>
                            <id>jacoco-site</id>
                            <phase>verify</phase>
                            <goals>
                                <goal>report</goal>
                            </goals>
                        </execution>
                    </executions>
                </plugin>
            </plugins>
        </build>
    </profile>

добавить свойства также в pom.xml

<properties>
        <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
        <project.reporting.outputEncoding>UTF-8</project.reporting.outputEncoding>
        <sonar.language>java</sonar.language>
        <sonar.core.codeCoveragePlugin>jacoco</sonar.core.codeCoveragePlugin>
        <sonar.dynamicAnalysis>reuseReports</sonar.dynamicAnalysis>
        <sonar.jacoco.reportPath>${project.basedir}/../target/jacoco.exec</sonar.jacoco.reportPath>
    </properties>

тогда попробуй и скажи.

person TEDDY    schedule 08.03.2015