2017-01-23 20 views
-1

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

ビルドやプラグインの一部は、正しい解に私を指しているため@Godin

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

マルチコアMavenプロジェクトの[JacocoとArquillianの可能な複製](http://stackoverflow.com/questions/12354669/jacoco-and-arquillian-in-a-multi-module-maven-project) – Godin

+0

Iこの質問を投稿する前にこの投稿を参照しています。まだそれは動作しません。 – Raj

+0

'pom.xml'の切り詰められたスニペットだけでは、明らかに問題を再現するには不十分です。完全な実行可能な例を提供してください(http://stackoverflow.com/help/mcve)。これにより、ここでヘルプを受ける機会とスピードが大幅に向上します。 – Godin

答えて

0

感謝を下回っています。私は以下の2つのステップを追加して解決しました。

1)統合テストは

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

キーは、我々は代わりに「報告書」の「報告・集計」の目標を使用する必要がある実行子ポンポンで親ポンポン

<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)。 「レポート集合」の目標は、マルチモジュールコードカバレッジを実行できます。

関連する問題