TestNgで確実に実行できるように、pomで次の構成を定義しました。
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-surefire-plugin</artifactId>
<version>2.12</version>
<configuration>
<skipTests>${skip-all-tests}</skipTests>
</configuration>
<executions>
<execution>
<id>unit-tests</id>
<phase>test</phase>
<goals>
<goal>test</goal>
</goals>
<configuration>
<skip>${skip-unit-tests}</skip>
<groups>unit</groups>
<excludedGroups>integration</excludedGroups>
</configuration>
</execution>
<execution>
<id>integration-tests</id>
<phase>integration-test</phase>
<goals>
<goal>test</goal>
</goals>
<configuration>
<skip>${skip-integration-tests}</skip>
<groups>integration</groups>
<excludedGroups>unit</excludedGroups>
</configuration>
</execution>
</executions>
</plugin>
しかし、2 つの実行の前に常に「default-test」実行が行われ、@test アノテーションが付けられたすべてのメソッドが実行されるようです (少なくとも私はそう思います)。
--- maven-surefire-plugin:2.12:test (default-test) @ my-project
たとえば、プロジェクトで「mvn test」を実行すると、2 つのテストが実行されます。「デフォルトテスト」と「単体テスト」。
誰かが私にこれをもう少し説明してもらえますか? これを無効にしたり、制御したりできますか (何をテストし、何をテストしないかを構成します)?