У меня есть два вида юнит-тестов (не интеграционный тест). Из-за некоторого странного поведения в Spring Security мне нужно сначала запустить все обычные тесты, а затем - тесты безопасности.
Я использую Junit (поэтому я не могу использовать какие-либо группы TestNG).
Итак, я определил два набора правил включения и исключения.
<excludes>
<exclude>**/*SecurityTest.java</exclude>
</excludes>
<includes>
<include>**/*Test.java</include>
<include>**/*Tests.java</include>
</includes>
и
<excludes>
</excludes>
<includes>
<include>**/*SecurityTest.java</include>
</includes>
Это сработает, если я заменю их вручную, чтобы я мог пройти обычные тесты или тесты безопасности. Но, конечно, я хочу, чтобы оба вида тестов выполнялись в каждой сборке.
Моя первая попытка состояла в том, чтобы иметь две полные конфигурации maven-surefire-plugin. Но тогда мавен принимает во внимание только последний из них.
Моя следующая попытка состояла в том, чтобы использовать два execution
определения, но затем наверняка все же игнорировали правила и запускали оба вида смешанных тестов.
Итак, мой общий вопрос: как указать два набора файлов для maven surefire, чтобы они выполнялись каждый за другим? И более конкретно, как указать два разных набора файлов.
конфигурация с казнями
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-surefire-plugin</artifactId>
<version>2.9</version>
<configuration>
<junitArtifactName>junit:junit</junitArtifactName>
<encoding>UTF-8</encoding>
<inputEncoding>UTF-8</inputEncoding>
<outputEncoding>UTF-8</outputEncoding>
<argLine>-Xms256m -Xmx512m -XX:MaxPermSize=128m -ea</argLine>
</configuration>
<executions>
<execution>
<id>normal-tests</id>
<phase>test</phase>
<goals>
<goal>test</goal>
</goals>
<configuration>
<excludes>
<exclude>**/Abstract*.java</exclude>
<exclude>**/*_Roo_*</exclude>
<exclude>**/*SecurityTest.java</exclude>
</excludes>
<includes>
<include>**/*Test.java</include>
<include>**/*Tests.java</include>
</includes>
</configuration>
</execution>
<execution>
<id>security-tests</id>
<phase>test</phase>
<goals>
<goal>test</goal>
</goals>
<configuration>
<excludes>
<exclude>**/Abstract*.java</exclude>
<exclude>**/*_Roo_*</exclude>
</excludes>
<includes>
<include>**/*SecurityTest.java</include>
</includes>
</configuration>
</execution>
</executions>
</plugin>