2017-02-06 3 views
-1

У меня есть проект Java с несколькими классами, и я создал тестовые примеры junit для каждого класса.junit test cases проходят индивидуально, но не в mvn install

Я использовал jacoco плагин для проверки блок испытания покрытия моего проекта с использованием sonarQube 5.5. Я работаю на Eclipse, Марс 4.5.2 на Windows 7

При запуске МВН установить с помощью плагина для Eclipse, он сообщает, что некоторые из моих тестов не удалось (без каких-либо StackTrace как, почему) , и я вижу следующее исключение:

An error has occurred in JaCoCo report generation. Error while creating report: Unknown block type 7.

Однако, когда я запускаю эти тестовые случаи индивидуально в Eclipse, они работают очень хорошо и успешно, это означает, что я не бегу МВН установить на тестовых с неверные утверждения.

Я думал, что это может быть проблемой моего плагина Eclipse maven, поэтому я запускал mvn install отдельно, используя cmd, но я получаю то же исключение.

Я обновил свой проект в Eclipse. Все мои тестовые примеры проходят после этого (странно), но я все еще вижу это исключение.

Что означает это исключение и как я могу его устранить?

Любые рекомендации будут оценены по достоинству. Спасибо

+2

Вы видели https://groups.google.com/forum/#!topic/jacoco/f1ZllnGkjlo, в котором говорится, что причиной параллельного тестирования является причина. Вы должны использовать плагин surefire. Не могли бы вы попробовать и запустить свои тесты последовательно и посмотреть, возникает ли проблема? – GauravJ

+0

Да. Я столкнулся с этой страницей, и да, я использую плагин surefire. Скажите, пожалуйста, как я могу сериализовать запуск тестового примера. Спасибо –

+1

Пожалуйста, проверьте http://maven.apache.org/surefire/maven-surefire-plugin/examples/fork-options-and-parallel-execution.html. Более конкретно «forkCount = 1/reuseForks = false выполняет каждый тестовый класс в своем собственном процессе JVM один за другим. Он создает наивысший уровень разделения для выполнения теста, но он, вероятно, также даст вам самое длинное время выполнения всех доступные варианты. Рассмотрите это как последнее средство ». – GauravJ

ответ

0

Эта проблема вызвана неправильным завершением работы файла с именем jacoco.exec. который находится в папке my_project_name/target/.

Я решил эту проблему, перейдя в указанную папку и удалив jacoco.exec вручную и запустив mvn clean install через Eclipse.

Смежные вопросы