2016-01-09 3 views
0

Я использую Coveralls в проекте Java с Maven для создания отчета о покрытии для моего проекта, и я хочу, чтобы некоторые классы не включались в вычисление покрытия.Инструкции Jacoco и Coveralls игнорировать некоторые файлы из отчета

Теперь, я думаю, что я фаза сборки, я могу вывести класс, например. MyClassTest.java следующим образом:

<plugin> 
    <groupId>org.jacoco</groupId> 
    <artifactId>jacoco-maven-plugin</artifactId> 
    <version>0.7.5.201505241946</version> 
    <executions> 
     <execution> 
      <goals> 
       <goal>prepare-agent</goal> 
      </goals> 
     </execution> 
     <execution> 
      <id>report</id> 
      <phase>test</phase> 
      <goals> 
       <goal>report</goal> 
      </goals> 
     </execution> 
    </executions> 
    <configuration> 
     <excludes> 
      <exclude>**/*MyClassTest.java</exclude> 
     </excludes> 
    </configuration> 
</plugin> 
<plugin> 
    <groupId>org.eluder.coveralls</groupId> 
    <artifactId>coveralls-maven-plugin</artifactId> 
    <version>4.1.0</version> 
</plugin> 

Во всяком случае, охват не уменьшается, так что я думаю, что класс MyClass по-прежнему вычисляется из отчета Jacoco.

В файле Travis я называю фазы отчета следующим образом:

- mvn clean test jacoco:report coveralls:report 

Любая идея?

+0

Не могли бы вы попробовать с ' **/* MyClassTest' (без '.java')? – Tunaki

+0

@Tunaki Спасибо за предложение. Я пробовал, но не работает. –

+0

А, еще одна попытка :) ' **/* MyClassTest.class' или даже ' **/* MyClassTest *' – Tunaki

ответ

0

My bad!

Сначала необходимо удалить .java и заменить его на .class, как правильно предложено Tunaki.

Во-вторых, мне не нужно исключать тестовый класс, но класс, который я не хочу измерять в покрытии! Так что:

<excludes> 
     <exclude>**/*MyClass</exclude> 
    </excludes> 

вместо

<excludes> 
     <exclude>**/*MyClassTest.java</exclude> 
    </excludes>