Подтвердить что ты не робот

Единичные тесты, проходящие через Maven, но не пройденные через Cobertura: "Ожидание кадра стоп-кадра в целевой точке 65 ветки"

Недавно я добавил плагин Cobertura в проект Java/ Spring -MVC. Странно то, что все мои модульные тесты проходили, и они все еще проходят, когда Maven выполняет свой первоначальный тестовый прогон, но затем, когда Cobertura пытается запустить тесты, все они терпят неудачу с тем же сообщением об ошибке:

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

Я понятия не имею, почему это происходит и даже не знаю, как это исправить. Я искал интернет, но не нашел подобных проблем. Я использую JUnit и spring -test-mvc для тестирования.

Кто-нибудь видел это раньше?

4b9b3361

Ответ 1

Конечно, я нахожу ответ сразу после того, как задаю вопрос, хотя я искал довольно долго...

Проблема в том, что у Cobertura есть проблемы с работой с Java 1.7. Вы должны добавить следующую строку в свой pom.xml:

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

Это входит в элемент конфигурации. Вот весь раздел Cobertura:

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

Теперь все работает так, как ожидалось.

Ответ 2

Исправлено использование нового плагина

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