0

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 カバレッジ レポートを取得するにはどうすればよいですか。

4

1 に答える 1

0

これらは追加するプラグインです

<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>

それから私に言ってみてください。

于 2015-03-08T08:29:21.933 に答える