Могу ли я сделать это, используя покрытие кода с помощью Cobertura

Я просто смотрю на плагин cobertura maven, и я не был уверен, возможно ли следующее

  1. Инструментальные классы
  2. Запустить тесты junit
  3. Сгенерируйте отчет Cobertura без переоборудования классов и запуска тестов

У меня есть многомодульный проект maven, и охват модуля домена отображается как 0%, хотя он использовался каждым другим модулем. Я пробовал разные комбинации вещей, но охват моего модуля домена всегда остается на 0%. Люди упомянули о написании отдельных тестов для классов предметной области, но я не хочу этого делать, поскольку вы можете легко написать тесты для проверки функции, которая на самом деле не используется нигде в кодовой базе.

Любые указатели были бы очень признательны


person Damien    schedule 13.06.2014    source источник
comment
Ваш заголовок Code Coverage with Cobertura не очень конкретен - вы можете изменить его, чтобы отразить проблему с несколькими модулями maven, если это ваш ключевой вопрос.   -  person avandeursen    schedule 14.06.2014


Ответы (2)


Для этого вам нужно будет выполнить цели maven в правильном порядке, поэтому:

    cobertura:instrument 
    test
    goalToAskCoberturaToGenerateReport

Но тут возникает проблема: нет такой цели, как cobertura: report, если вы посмотрите документацию и исходный код плагина maven: цель cobertura: cobertura - единственная цель, с помощью которой создается отчет. Я подозреваю, что это так из-за некоторых внутренних ограничений maven.

Короче говоря, учитывая состояние плагина maven, это невозможно.

У вас может быть шанс управлять тем, чего вы хотите достичь, выполнив cobertura из командной строки.

person benzonico    schedule 13.06.2014
comment
да, я смотрел на это и заметил то же самое в отчетах. Я могу использовать jacaco или клевер или другую альтернативу - person Damien; 13.06.2014

Для многомодульных проектов maven кросс-модульное покрытие недоступно для Cobertura в готовом виде.

Решение, использующее смесь maven и ant, описано Томасом Сундбергом: http://thomassundberg.wordpress.com/2012/02/18/test-coverage-in-a-multi-module-maven-project/

См. Также этот связанный вопрос: Maven2 Multiproject Cobertura Reporting Проблемы во время сборки сайта mvn

person avandeursen    schedule 13.06.2014