Arquillian テスト (Drone/Graphene テストを含む) を含む Maven プロジェクトがあります。
Maven を使用してプロジェクトをビルドすると、Graphene と Drone または Warp を使用するすべての Arquillian テストが次の例外で失敗します。
Running de.mmo.arq.model.diverses.stammdaten.geldinstitut.GeldinstitutBlzTest
Tests run: 1, Failures: 0, Errors: 1, Skipped: 0, Time elapsed: 4.862 sec <<< FAILURE! - in de.mmo.arq.model.diverses.stammdaten.geldinstitut.GeldinstitutBlzTest
de.mmo.arq.model.diverses.stammdaten.geldinstitut.GeldinstitutBlzTest Time elapsed: 4.862 sec <<< ERROR!
org.jboss.shrinkwrap.api.exporter.ArchiveExportException: Failed to write asset to output: /WEB-INF/classes/de/mmo/base/dao/CrudService.class
Caused by: java.lang.IncompatibleClassChangeError: class org.jacoco.core.internal.flow.ClassProbesVisitor has interface org.objectweb.asm.ClassVisitor as super class
これは魔法が起こるべき場所です
<build>
<finalName>browser</finalName>
<plugins>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-compiler-plugin</artifactId>
<version>3.2</version>
<configuration>
<source>1.7</source>
<target>1.7</target>
</configuration>
</plugin>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-release-plugin</artifactId>
<version>2.5.3</version>
<configuration>
<tagBase>...</tagBase>
<useReleaseProfile>false</useReleaseProfile>
</configuration>
</plugin>
</plugins>
</build>
<profiles>
<profile>
<id>jacoco</id>
<dependencies>
<dependency>
<groupId>org.jacoco</groupId>
<artifactId>org.jacoco.core</artifactId>
<scope>test</scope>
</dependency>
</dependencies>
<build>
<plugins>
<plugin>
<groupId>org.jacoco</groupId>
<artifactId>jacoco-maven-plugin</artifactId>
<version>${jacoco}</version>
<executions>
<execution>
<goals>
<goal>prepare-agent</goal>
</goals>
</execution>
<execution>
<id>report</id>
<phase>prepare-package</phase>
<goals>
<goal>report</goal>
</goals>
</execution>
</executions>
</plugin>
</plugins>
</build>
</profile>
<profile>
<id>arq-wildfly</id>
<build>
<plugins>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-surefire-plugin</artifactId>
<version>${maven.surefire}</version>
<configuration>
<skipTests>false</skipTests>
<systemPropertyVariables>
<arquillian.launch>wildfly-remote</arquillian.launch>
</systemPropertyVariables>
</configuration>
</plugin>
</plugins>
</build>
</profile>
<profile>
<id>default</id>
<activation>
<activeByDefault>true</activeByDefault>
</activation>
<build>
<plugins>
<plugin>
<artifactId>maven-surefire-plugin</artifactId>
<version>${maven.surefire}</version>
<configuration>
<skipTests>true</skipTests>
</configuration>
</plugin>
<plugin>
<groupId>org.wildfly.plugins</groupId>
<artifactId>wildfly-maven-plugin</artifactId>
<version>${wildfly.maven-plugin}</version>
</plugin>
</plugins>
</build>
</profile>
</profiles>
私は mvn を使用して、このプロファイルjacoco arq-wildflyを使用して、この目標のクリーン パッケージ -faeでプロジェクトをビルドしています
ビルドが失敗し、ターゲット ディレクトリに jacoco.exec ファイルが作成されます。
jacoco プロファイルの目的のprepare-agentを削除し、プロファイルjacoco arq-wildflyで同じ mvn コマンド ( clean package -fae ) を実行すると、すべてのテストが正常に終了しますが、jacoco.exec ファイルは作成されません。
私が間違っていることは何ですか?Arquillian と Drone/Graphene Tests および Jacoco をコード カバレッジに使用した実用的な例はありますか?
私の環境に関する追加情報については:
- ワイルドフライ 10
- Arquillian Core 1.1.11.Final
- Arquillian Drone 1.3.1.Final
- Arquillian グラフェン 2.1.0.Beta1
- Arquillian Jacoco 1.0.0.Alpha8
- ジャココ 0.7.6.201602180812