Для того, чтобы точно настроить, какие тесты выполняются, в какое время и в каких средах, у нас есть несколько выполнений, настроенных для плагина 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 запускал его против инструментальных классов?