Falta la cobertura del código de Jacoco y IncompatibleClassChangeError

Tengo un proyecto maven con algunas pruebas de Arquillian (Drone / Graphene Tests incluidas).

Cuando construyo mi proyecto usando Maven, todas mis pruebas Arquillian que usan Graphene y Drone o Warp fallarán con la siguiente excepción

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

Este es el lugar donde debería ocurrir la magia.

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

Estoy usando mvn para construir mi proyecto con este paquete limpio de objetivos -fae con estos perfiles jacoco arq-wildfly

La compilación falla y el archivo jacoco.exec se crea en mi directorio de destino.

Si elimino el objetivo prepare-agent en el perfil de jacoco y ejecuto el mismo comando mvn ( clean package -fae ) con los perfiles jacoco arq-wildfly, todas mis pruebas terminan con éxito pero sin crear el archivo jacoco.exec.

¿Qué estoy haciendo mal? ¿Alguien tiene un ejemplo de trabajo usando Arquillian con Drone / Graphene Tests y Jacoco para la cobertura del código?

Para información adicional sobre mi entorno:

  • Wildfly 10
  • Núcleo arquilliano 1.1.11. Final
  • Drone Arquillian 1.3.1.Final
  • Grafeno arquilliano 2.1.0.Beta1
  • Arquillian Jacoco 1.0.0.Alpha8
  • Jacoco 0.7.6.201602180812
Respuesta 1

Como todos sabemos, la serialización en Java es un mecanismo para escribir el estado de un objeto en una secuencia de bytes. Se utiliza principalmente para enviar el estado del objeto a través de la red. Pero lo que sucede cuando el objeto es ...

Tengo un archivo grande de hasta terabytes, y mi tarea es procesar línea por línea. Cada línea debe tomar 5 segundos para lograrlo. Para mejorar el rendimiento, envío el proceso a un grupo de subprocesos fijo como este ...

Me gustaría ejecutar un contenedor web donde cada aplicación web se ejecuta en su propio proceso (JVM). Las solicitudes entrantes se envían mediante una aplicación web proxy que se ejecuta en el puerto 80 a aplicaciones web individuales, cada una (aplicación web) que se ejecuta en ...

He creado un archivo usando java, con el siguiente código String Filecontent = "hei"; creando archivo PrintWriter writer = new PrintWriter ("D: // balanworkspace // Coretest // Corejavatest // src // intvquestest // ...