2013-01-14 2 views
2

Я использую плагин gradle-cobertura для создания отчета о покрытии проб, который можно найти here. Плагин работает абсолютно нормально. Теперь я пытаюсь исключить некоторые из классов из отчета о покрытии. Я пытался настроить поведение плагина Cobertura с помощью закрытия для настройки свойств конвенции, как показано ниже:Исключая некоторые классы из сообщения cobertura

cobertura { 
    coverageSourceDirs = sourcesSets.main.groovy.srcDirs 
    coverageExcludes = ['class_name.groovy'] 
} 

Но отчет охвата все еще показывают классы, которые я исключенные. Любая помощь будет оценена.

Спасибо и наилучшие пожелания, Diganta

+0

Вы использовали полное имя класса (имя пакета + класс) для исключения? –

+0

Да, я использовал полное имя класса. например lb.web.WebContextListener – Diganta

+0

Основываясь на документации, похоже, вам нужно будет избежать точек, например. 'Фунт \ .web \ .WebContextListener'. BTW: Я не думаю, что этот плагин поддерживается больше. Я бы порекомендовал взглянуть на [еще один плагин Cobertura] (https://github.com/Mapvine/gradle-cobertura-plugin), который все еще поддерживается. –

ответ

6

Вы должны использовать регулярное выражение.

cobertura { 
    coverageSourceDirs = sourcesSets.main.groovy.srcDirs 
    coverageExcludes = ['.*com\\.myCompany\\.class_name.*'] 
} 

Пример на странице плагина показывает только одну обратную косую черту, чтобы избежать точку, но я нашел, что я должен был использовать два раза подряд (я использую Gradle 1.4).

Я также добавлю к предложению в комментариях использовать новый плагин conferura gradle - мне повезло с this one.

+0

Нет, это не работает. Я уже пробовал с новым плагином cobertura, который вы упомянули. Я также пробовал с большим количеством регулярных выражений, но ни один из них не дает желаемых результатов :(Я использую gradle 1.1 – Diganta

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