Ich habe ein Maven Projekt mit einigen Arquillian Tests (Drone/Graphene Tests enthalten).Fehlende Jacoco Code Coverage und IncompatibleClassChangeError
Als ich baue mein Projekt Maven all meine Arquillian Tests verwenden, die Graphene und Drone oder Warp verwenden wird mit folgenden Ausnahme fehlschlagen
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
Dies ist der Ort, wo die Magie
<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>
passieren soll Ich verwende mvn, um mein Projekt mit diesen Zielen zu bauen sauberes Paket -fae mit diesen Profilen jacoc o arq-wildfly
Der Build schlägt fehl und die Datei jacoco.exec wird in meinem Zielverzeichnis erstellt.
Wenn ich das Ziel prepare-Agent im jacoco Profil und führen Sie den gleichen MVN-Befehl (sauber Paket -fae) mit den Profilen jacoco ARQ-Wildfly alle meine Tests entfernen beenden erfolgreich, aber ohne die Schaffung jacoco.exe Datei.
Was mache ich falsch? Hat jemand ein funktionierendes Beispiel mit Arquillian mit Drone/Graphene Tests und Jacoco für die Codeabdeckung?
Weitere Informationen zu meiner Umgebung:
- Wildfly 10
- Arquillian Kern 1.1.11.Final
- Arquillian Drone 1.3.1.Final
- Arquillian Graphene 2.1.0.Beta1
- Arquillian Jacoco 1.0.0.Alpha8
- Jacoco 0.7.6.201602180812