Как мне настроить тесты cobertura в maven-cobertura-plugin? - PullRequest
9 голосов
/ 09 декабря 2011

Для того, чтобы точно настроить, какие тесты выполняются, в какое время и в каких средах, у нас есть несколько выполнений, настроенных для плагина maven-surefire-plugin. Мы устанавливаем конфигурацию по умолчанию, чтобы пропустить все тесты, а затем включить их для выполнения, которое мы хотим. Это само по себе хорошо работает для нас.

<plugin>
  <groupId>org.apache.maven.plugins</groupId>
  <artifactId>maven-surefire-plugin</artifactId>
  <configuration>
     <skip>true</skip>
  </configuration>
  <executions>
     <execution>
       <id>unit-tests</id>
       <phase>test</phase>
       <goals>
          <goal>test</goal>
       </goals>
       <configuration>
          <skip>false</skip>
          <includes>
             <include>**/*Tests.java</include>
          </includes>
          <excludes>
             <exclude>**/*IntegrationTests.java</exclude>
          </excludes>
       </configuration>
     <execution>
     <execution>
       <id>integration-tests</id>
       <phase>integration-test</phase>
       <goals>
          <goal>test</goal>
       </goals>
       <configuration>
          <skip>false</skip>
          <includes>
             <include>**/*IntegrationTests.java</include>
          </includes>
       </configuration>
     <execution>
   </executions>
</plugin>

Когда я добавляю в смесь плагин maven-cobertura, у меня возникают проблемы. Цель cobertura работает, и успешно инструменты мои занятия. Однако тесты не запускаются. Я предполагаю, что это потому, что выполнение теста, в котором выполняется cobertura, является пропущенным. Тем не менее, я не могу найти, как указать, какой этап и цель настроить для этого выполнения. Когда я включаю все тесты, выходные данные, кажется, указывают, что они все еще выполняются в этих фазах / целях юнит-тестов и интеграционных тестов.

<plugin>
  <groupId>org.codehaus.mojo</groupId>
  <artifactId>cobertura-maven-plugin</artifactId>
  <version>2.4</version>
  <configuration>
     <formats>
        <format>xml</format>
        <format>html</format>
     </formats>
  </configuration>
  <executions>
     <execution>
        <phase>package</phase>
        <goals>
           <goal>cobertura</goal>
        </goals>
     </execution>
  </executions>
</plugin>

Как мне указать точное выполнение, чтобы cobertura запускал его против инструментальных классов?

1 Ответ

2 голосов
/ 10 декабря 2011

Вы заметите из документов , что cobertura:cobertura

  • Должно быть в виде отчета
  • Приборы, тесты и генерация отчета
  • Работает в своем собственном жизненном цикле cobertura (не * default жизненный цикл)
  • Вызывает фазу жизненного цикла test перед запуском

Таким образом, соответствующее подключение должно автоматически привести к контрольно-измерительным приборам и испытаниям.

...