2

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
4

1 に答える 1