Unit tests passing through Maven, but failing through Cobertura: "Expecting a stackmap frame at branch target 65"

StackOverflow https://stackoverflow.com/questions/18084436

Pregunta

I recently added the Cobertura plugin to my Java/Spring-MVC project. The strange thing is that all my unit tests were passing, and they still pass when Maven does its initial test run, but then when Cobertura tries to run the tests, they all fail with the same error message:

Expecting a stackmap frame at branch target 65 in method xxx.xxxx.xxxx.xxxx;)V at offset 40

I have no idea why this is happening and don't even know how to go about fixing it. I've searched the internet but haven't found any similar problems. I use JUnit and spring-test-mvc for testing.

Has anyone seen this before?

¿Fue útil?

Solución

Of course I find the answer right after asking the question, even though I searched for quite awhile before...

The problem is that Cobertura has trouble working with Java 1.7. You must add the following line to your pom.xml:

<argLine>-XX:-UseSplitVerifier</argLine>

That goes in the configuration element. Here is the entire Cobertura section:

     <plugin>
        <groupId>org.codehaus.mojo</groupId>
            <artifactId>cobertura-maven-plugin</artifactId>
            <version>2.5.1</version>
            <configuration>
                <argLine>-XX:-UseSplitVerifier</argLine>
                <formats>
                    <format>xml</format>
                </formats>
            </configuration>
            <executions>
                <execution>
                    <phase>test</phase>
                    <goals>
                        <goal>cobertura</goal>
                    </goals>
                </execution>
            </executions>
       </plugin>

Now everything works as expected.

Otros consejos

Fixed by using new plugin

                  <plugin>
                        <groupId>org.codehaus.mojo</groupId>
                        <artifactId>cobertura-maven-plugin</artifactId>
                        <version>2.7</version>
                        <configuration>
                            <formats>
                                <format>xml</format>
                            </formats>
                        </configuration>
                        <executions>
                            <execution>
                                <phase>package</phase>
                                <goals>
                                    <goal>cobertura</goal>
                                </goals>
                            </execution>
                        </executions>
                    </plugin>
Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top