До сих пор нет решения для игнорирования setter/getter (другие тривиальные методы) с плагином cobertura-maven?
Кто-нибудь нашел хорошее решение для игнорировать тривиальные методы?
Использование некоторого автоматизированного тестирования, такого как Unitils
, на самом деле не является вариантом, поскольку покрытие кода не должно увеличиваться, если тестируются только геттеры/сеттеры!
Использование cobertrua-maven-plugin версии 2.5.1:
-) игнорировать методы не работает <ignore>com.company.*.set*</ignore>
-) Кто-нибудь попытался включить патч, например http://sourceforge.net/tracker/index.php?func=detail&aid=3010530&group_id=130558&atid=720017 в maven-plugin?
-) Кто-нибудь использует другой (лучше?) тестовый плагин?
Общий игнор для каждого метода get/set/is * также не очень хороший способ, так как эти шаблоны могут использоваться в других методах, но simle getter/setters. Также должно быть легко угадать тривиальные геттеры/сеттеры/конструкторы.
Я знаю об этом вопросе: Игнорировать методы в классе. cobertura maven plugin, но поскольку он не получил никаких соответствующих ответов, я подумал, что даю ему еще один снимок.
Ответы
Ответ 1
Так как Cobertura 2.0 есть переключатель для исключения тривиальных методов:
[Список изменений Cobertura] Новый --ignoreTrivial, который сообщает Cobertura игнорировать следующие в отчете о покрытии: методы Getter, которые просто прочитайте поле класса; Методы Setter, которые задают поле класса; Конструкторы, которые только устанавливают поля классов и называют супер класса.
В cobertura-maven-plugin используется Cobertura 2.x со версии 2.6 (см. примечания к выпуску). Но я еще не нашел способ передать переключатель в конфигурацию плагина maven.
Хотя кажется, что есть некоторая путаница в состоянии этой функции (см. этот вопрос Jira), флаг, похоже, работает со следующей конфигурацией:
<groupId>org.codehaus.mojo</groupId>
<artifactId>cobertura-maven-plugin</artifactId>
<version>2.6</version>
<configuration>
<instrumentation>
<ignoreTrivial>true</ignoreTrivial>
</instrumentation>
</configuration>
Ответ 2
Проблема исключения была исправлена здесь:
http://jira.codehaus.org/browse/MCOBERTURA-52
и является частью последней версии (2.5.2). Он доступен с 10 сентября 2012 года:
http://search.maven.org/#search|gav|1|g%3A%22org.codehaus.mojo%22%20AND%20a%3A%22cobertura-maven-plugin%22