テストをグループに分離しようとしています。たとえば、「FULL」実行グループとより軽い「SMOKE」グループです。マスターpomに、SMOKEグループのみを実行するデフォルトのプロファイルを設定し、CIサーバーですべてのテストを実行する別のFULLグループをアクティブ化する必要があります。
ただし、maven/testngでSMOKEセットのみを実行するのに問題があります。FULLグループをexcludedGroupsに追加すると、テストは実行されません。
maven-surefire-pluginの私の効果的なpomはこれです:
<plugin>
<artifactId>maven-surefire-plugin</artifactId>
<version>2.6</version>
<executions>
<execution>
<id>default-test</id>
<phase>test</phase>
<goals>
<goal>test</goal>
</goals>
<configuration>
<groups>USER</groups>
<excludedGroups>FULL</excludedGroups>
</configuration>
</execution>
</executions>
<configuration>
<groups>USER</groups>
<excludedGroups>FULL</excludedGroups>
</configuration>
</plugin>
そして、私のテストクラスには次のように注釈が付けられています。
@Test(groups = { "FULL", "SMOKE" }, enabled=true)
public void testOne() { }
@Test(groups = { "FULL" }, enabled=true)
public void testTwo() { }
各クラスは、SMOKEテストグループの代表的なテストを1つ選択します。ExclusiveGroupsタグを省略し、groupsタグのみをSMOKEに設定しようとしましたが、すべてのテストが実行されます。
testngグループの階層についての私の理解を助けるための助けをいただければ幸いです。