2015-11-12 7 views
2

мне удалось построить наши тесты с помощью этого урока https://confluence.atlassian.com/display/CLOVER/Using+Clover+with+Maven+Tycho+Plugin, данные покрытий генерируются, но есть одна небольшая проблема:Clover инструментальных тестов с JUnit @Parameterized терпят неудачу с NoClassDefFound: JUnit/питатель/TestRunListener

Все тесты, которые выполняются с @Parameterized аннотации терпят неудачу с

java.lang.NoClassDefFound: junit/runner/TestRunListener

из того, что я нашел до сих пор исключение пришедшего из JUnitParameterizedTestSniffer, который впрыскивается клевером.

У вас есть идеи, как исправить это?

Мы используем maven3, tycho 0.22, java7, junit 4.11.

ответ

0

Наконец я решил эту проблему, используя этот кусок кода после инструментовки:

<replace dir="${project.instrumented.dir}" token="new com_atlassian_clover.JUnitParameterizedTestSniffer()" value="com_atlassian_clover.TestNameSniffer.NULL_INSTANCE"> 
    <include name="**/*.java"/> 
</replace> 

Может быть, это не самое красивым решение - но он работает просто отлично. Вопрос был также задан в Atlassian Answears (https://answers.atlassian.com/questions/32508110/answers/32530869)

0

Похоже, что пакет junit/runner не отображается в загрузчике классов теста. Это происходит, если вы импортируете только выбранные пакеты из пакета JUnit.

Если вы используете Require-Bundle пакета JUnit, проблема загрузки классов больше не должна возникать.

+0

Это не случай здесь - junit находится в разделе 'Require-Bundle'. –