マルチモジュールプロジェクトでのArquillianによるJacocoコードカバレッジ

ラージ

ArquillianでJacocoコードカバレッジを使用している人はいますか?私のプロジェクトはマルチモジュールのMavenプロジェクトであり、現在Arquillianテストのコードカバレッジを示していません。以下のpomの変更以外に、Arquillian.xmlに追加の変更はありますか?

私のpomxmlのビルドとプラグインの部分は以下のとおりです

  <build>
    <plugins>

      <!-- start Jacoco -->

<plugin>
    <groupId>org.jacoco</groupId>
    <artifactId>jacoco-maven-plugin</artifactId>
    <version>0.7.4.201502262128</version>
    <configuration>
        <propertyName>coverageAgent</propertyName>
        <append>true</append>
    </configuration>
    <executions>
        <execution>
            <id>pre-unit-test</id>
            <goals>
                <goal>prepare-agent</goal>
            </goals>
            <configuration>
                <destFile>${project.build.directory}/coverage-reports/jacoco-ut.exec</destFile>
                <propertyName>surefireArgLine</propertyName>
                <append>true</append>
            </configuration>
        </execution>
        <execution>
            <id>post-unit-test</id>
            <phase>test</phase>
            <goals>
                <goal>report</goal>
            </goals>
            <configuration>
                <dataFile>${project.build.directory}/coverage-reports/jacoco-ut.exec</dataFile>
                <outputDirectory>${project.basedir}/../target/coverageReport</outputDirectory>
                <append>true</append>
            </configuration>
        </execution>
        <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>
                <append>true</append>
                <dataFile>${project.build.directory}/coverage-reports/jacoco-it.exec</dataFile>
                <outputDirectory>${project.basedir}/../target/coverageReport</outputDirectory>
            </configuration>
        </execution>
    </executions>
</plugin>

<plugin>
    <groupId>org.apache.maven.plugins</groupId>
    <artifactId>maven-surefire-plugin</artifactId>
    <version>${maven.surefire.version}</version>
    <configuration>
        <argLine>${surefireArgLine}</argLine>
        <includes>
            <include>**/*TestNG*</include>
        </includes>
        <excludes>
            <exclude>**/Test/**</exclude>
            <exclude>**/*IT*</exclude>
        </excludes>
    </configuration>
</plugin>

<plugin>
    <groupId>org.apache.maven.plugins</groupId>
    <artifactId>maven-failsafe-plugin</artifactId>
    <version>2.7.1</version>
    <configuration>
        <argLine>${failsafeArgLine}</argLine>
        <includes>
            <include>**/*Test*</include>
        </includes>
    </configuration>
</plugin>


     </plugins> 
   </build>  


 <profiles>
    <profile>
        <id>jacoco-integ-tests</id>
        <build>
            <plugins>
                <plugin>
                    <groupId>org.apache.maven.plugins</groupId>
                    <artifactId>maven-failsafe-plugin</artifactId>
                    <version>2.7.1</version>
                    <configuration>
                        <argLine>${failsafeArgLine}</argLine>
                        <includes>
                            <include>**/*Test*</include>
                        </includes>
                        <properties>
                            <property>
                                <name>listener</name>
                                <value>org.sonar.java.jacoco.JUnitListener</value>
                            </property>
                        </properties>
                    </configuration>
                    <executions>
                            <execution>
                                <id>integration-tests</id>
                                <goals>
                                    <goal>integration-test</goal>
                                    <goal>verify</goal>
                                </goals>
                                <configuration>
                                    <argLine>${failsafeArgLine}</argLine>
                                    <properties>
                                <property>
                                    <name>listener</name>
                                    <value>org.sonar.java.jacoco.JUnitListener</value>
                                </property>
                            </properties>
                                    <skipTests>false</skipTests>
                                </configuration>
                            </execution>
                        </executions>
                </plugin>
            </plugins>
        </build>
        <dependencies>
            <dependency>
                <groupId>org.codehaus.sonar-plugins.java</groupId>
                <artifactId>sonar-jacoco-listeners</artifactId>
                <version>2.6</version>
                <scope>test</scope>
            </dependency>
            <dependency>
                 <groupId>org.jacoco</groupId>
                 <artifactId>org.jacoco.core</artifactId>
                 <version>${version.jacoco}</version>
                 <scope>test</scope>
              </dependency>
              <dependency>
                 <groupId>org.jboss.arquillian.extension</groupId>
                 <artifactId>arquillian-jacoco</artifactId>
                 <version>1.0.0.Alpha9</version>
                 <scope>test</scope>
              </dependency>

        </dependencies>
    </profile>

    <profile>
        <id>jacoco-unit-tests</id>
        <build>
            <plugins>
                <plugin>
                    <groupId>org.apache.maven.plugins</groupId>
                    <artifactId>maven-surefire-plugin</artifactId>
                    <version>2.13</version>
                    <configuration>
                        <argLine>${surefireArgLine}</argLine>
                        <properties>
                            <property>
                                <name>listener</name>
                                <value>org.sonar.java.jacoco.TestNGListener</value>
                            </property>
                        </properties>
                        <includes>
                            <include>**/*TestNG*</include>
                        </includes>
                        <excludes>
                            <exclude>**/FT/**</exclude>
                            <exclude>**/*IT*</exclude>
                        </excludes>
                    </configuration>
                </plugin>
            </plugins>
        </build>
        <dependencies>
            <dependency>
                <groupId>org.codehaus.sonar-plugins.java</groupId>
                <artifactId>sonar-jacoco-listeners</artifactId>
                <version>2.6</version>
                <scope>test</scope>
            </dependency>
        </dependencies>
    </profile>
</profiles>
ラージ

正しい解決策を教えてくれた@Godinに感謝します。以下の2つのステップを追加することで解決しました。

1)親pom

<plugin>
        <groupId>org.jacoco</groupId>
        <artifactId>jacoco-maven-plugin</artifactId>
        <version>0.7.8</version>
         <configuration>
            <destFile>${sonar.jacoco.itReportPath}</destFile>
            <append>true</append>
        </configuration>
        <executions>
          <execution>
            <goals>
              <goal>prepare-agent</goal>
              <goal>report</goal>
            </goals>
          </execution>
        </executions>
      </plugin>

2)統合テストが実行される子pom内

<plugin>
        <groupId>org.jacoco</groupId>
        <artifactId>jacoco-maven-plugin</artifactId>
            <version>0.7.8</version>
        <executions>
          <execution>
            <configuration>
              <destFile>${project.build.directory}/jacoco.exec</destFile>
            </configuration>
          </execution>
          <execution>
            <id>it-report</id>
            <phase>verify</phase>
            <goals>           
              <goal>report-aggregate</goal>
            </goals>
            <configuration>
            <!--   <dataFileIncludes>**/jacoco.exec</dataFileIncludes> -->
              <outputDirectory>${project.build.directory}/coverage-reports/jacoco</outputDirectory>
            </configuration>
          </execution>
        </executions>
      </plugin>

重要なのは、「レポート」ではなく「レポート-集計」の目標を使用する必要があるということです。「report-aggregate」の目標は、マルチモジュールコードカバレッジを実行できます。

この記事はインターネットから収集されたものであり、転載の際にはソースを示してください。

侵害の場合は、連絡してください[email protected]

編集
0

コメントを追加

0

関連記事

分類Dev

jacocoおよびgradleマルチモジュールプロジェクトによるクロスモジュールコードカバレッジ

分類Dev

jacocoを使用したマルチモジュールMavenプロジェクトの最小コードカバレッジを確認するにはどうすればよいですか?

分類Dev

Jacoco Mavenマルチモジュールプロジェクトのカバレッジ

分類Dev

マルチモジュールAndroidプロジェクトのグローバルコードカバレッジ:マージコードカバレッジレポート(ユニットおよびUIテスト)

分類Dev

Gradle jacoco マルチプロジェクト。ターミナルですべてのプロジェクトのコードカバレッジを出力するにはどうすればよいですか?

分類Dev

GradleのmutlimoduleプロジェクトでJacocoオフライン計測とのクロスモジュールのコードカバレッジ

分類Dev

マルチモジュールプロジェクトに関するSonarQubeカバレッジ

分類Dev

マルチモジュールMavenプロジェクトのコードカバレッジを見つける

分類Dev

マルチモジュールプロジェクトのカバレッジレポート

分類Dev

SonarQube:JaCoCoを使用したマルチモジュールgradleプロジェクトのカバレッジが不完全

分類Dev

マルチモジュールプロジェクトでソナーランナーとの統合カバレッジを使用できません

分類Dev

マルチモジュールプロジェクトでは、ソナーカバレッジは常に0です。

分類Dev

SonarQube Jacocoオフラインインストルメンテーションは、Mavenマルチモジュールプロジェクトで0%のカバレッジを示しています

分類Dev

MavenマルチモジュールプロジェクトのネストされたモジュールをIntelliJIDEAのトップレベルモジュールとして表示するにはどうすればよいですか?

分類Dev

Gradleマルチモジュールプロジェクトのsonarqube6.2でのカバレッジ計算が間違っています

分類Dev

マルチモジュールAndroidプロジェクト(Kotlin + Java)でSonarQube(jacocoを使用)を構成する方法

分類Dev

Gradleマルチプロジェクト-モジュール間でのテストコードの共有

分類Dev

どのようにマルチモジュールのGradleプロジェクトで配布パッケージを構築するには?

分類Dev

Play Framework:マルチモジュールプロジェクトで複数のグローバルオブジェクトをマージする

分類Dev

Mavenマルチモジュールプロジェクトでモジュールのjarを作成する

分類Dev

マルチモジュールのMaven + Sonar + JaCoCoを構成して、マージされたカバレッジレポートを提供するにはどうすればよいですか?

分類Dev

モジュールにclojureとjavaコードの両方があるマルチモジュールMavenプロジェクトをコンパイルするにはどうすればよいですか?

分類Dev

マルチモジュールプロジェクトのモジュールによるルートロガーの再構成を防ぐ方法は?

分類Dev

KotlinマルチプラットフォームプロジェクトのJavaScriptコードに使用するコードカバレッジツールは何ですか?

分類Dev

Scalaコードカバレッジツールjacocoをplay2.2.xプロジェクトに統合する

分類Dev

Gradleのマルチモジュールプロジェクトがコンパイルに失敗する

分類Dev

マルチモジュールMavenプロジェクトで特定のモジュールのバージョンを取得する

分類Dev

Mavenマルチモジュールプロジェクトをバージョン管理するためのグッドプラクティス

分類Dev

どのように自動的にマルチモジュールMavenプロジェクトで依存関係のバージョンの再利用?

Related 関連記事

  1. 1

    jacocoおよびgradleマルチモジュールプロジェクトによるクロスモジュールコードカバレッジ

  2. 2

    jacocoを使用したマルチモジュールMavenプロジェクトの最小コードカバレッジを確認するにはどうすればよいですか?

  3. 3

    Jacoco Mavenマルチモジュールプロジェクトのカバレッジ

  4. 4

    マルチモジュールAndroidプロジェクトのグローバルコードカバレッジ:マージコードカバレッジレポート(ユニットおよびUIテスト)

  5. 5

    Gradle jacoco マルチプロジェクト。ターミナルですべてのプロジェクトのコードカバレッジを出力するにはどうすればよいですか?

  6. 6

    GradleのmutlimoduleプロジェクトでJacocoオフライン計測とのクロスモジュールのコードカバレッジ

  7. 7

    マルチモジュールプロジェクトに関するSonarQubeカバレッジ

  8. 8

    マルチモジュールMavenプロジェクトのコードカバレッジを見つける

  9. 9

    マルチモジュールプロジェクトのカバレッジレポート

  10. 10

    SonarQube:JaCoCoを使用したマルチモジュールgradleプロジェクトのカバレッジが不完全

  11. 11

    マルチモジュールプロジェクトでソナーランナーとの統合カバレッジを使用できません

  12. 12

    マルチモジュールプロジェクトでは、ソナーカバレッジは常に0です。

  13. 13

    SonarQube Jacocoオフラインインストルメンテーションは、Mavenマルチモジュールプロジェクトで0%のカバレッジを示しています

  14. 14

    MavenマルチモジュールプロジェクトのネストされたモジュールをIntelliJIDEAのトップレベルモジュールとして表示するにはどうすればよいですか?

  15. 15

    Gradleマルチモジュールプロジェクトのsonarqube6.2でのカバレッジ計算が間違っています

  16. 16

    マルチモジュールAndroidプロジェクト(Kotlin + Java)でSonarQube(jacocoを使用)を構成する方法

  17. 17

    Gradleマルチプロジェクト-モジュール間でのテストコードの共有

  18. 18

    どのようにマルチモジュールのGradleプロジェクトで配布パッケージを構築するには?

  19. 19

    Play Framework:マルチモジュールプロジェクトで複数のグローバルオブジェクトをマージする

  20. 20

    Mavenマルチモジュールプロジェクトでモジュールのjarを作成する

  21. 21

    マルチモジュールのMaven + Sonar + JaCoCoを構成して、マージされたカバレッジレポートを提供するにはどうすればよいですか?

  22. 22

    モジュールにclojureとjavaコードの両方があるマルチモジュールMavenプロジェクトをコンパイルするにはどうすればよいですか?

  23. 23

    マルチモジュールプロジェクトのモジュールによるルートロガーの再構成を防ぐ方法は?

  24. 24

    KotlinマルチプラットフォームプロジェクトのJavaScriptコードに使用するコードカバレッジツールは何ですか?

  25. 25

    Scalaコードカバレッジツールjacocoをplay2.2.xプロジェクトに統合する

  26. 26

    Gradleのマルチモジュールプロジェクトがコンパイルに失敗する

  27. 27

    マルチモジュールMavenプロジェクトで特定のモジュールのバージョンを取得する

  28. 28

    Mavenマルチモジュールプロジェクトをバージョン管理するためのグッドプラクティス

  29. 29

    どのように自動的にマルチモジュールMavenプロジェクトで依存関係のバージョンの再利用?

ホットタグ

アーカイブ