次のようなもの。
確実に私のdaoテストをスキップする方法が欲しいです。スイートを定義するオーバーヘッドを回避しようとしています。
CI では、すべてのテストを実行する毎晩の 1 つと、「高速」テストのみを実行する SCM の別の 5 分間のポーリングが必要です。
mvn -DskipPattern=**.dao.** test
ショーンの答えを拡張させてください。これはあなたが設定したものですpom.xml
:
<properties>
<exclude.tests>nothing-to-exclude</exclude.tests>
</properties>
<profiles>
<profile>
<id>fast</id>
<properties>
<exclude.tests>**/*Dao*.java</exclude.tests>
</properties>
</profile>
</profiles>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-surefire-plugin</artifactId>
<configuration>
<excludes>
<exclude>${exclude.tests}</exclude>
</excludes>
</configuration>
</plugin>
次に、CI で次のように開始します。
mvn -Pfast test
それでおしまい。
もちろん問題ありません:
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-surefire-plugin</artifactId>
<version>2.6</version>
<configuration>
<excludes>
<!-- classes that include the name Dao -->
<exclude>**/*Dao*.java</exclude>
<!-- classes in a package whose last segment is named dao -->
<exclude>**/dao/*.java</exclude>
</excludes>
</configuration>
</plugin>
参照:
(除外はコマンドラインから設定できないため、この動作を条件付きで有効にしたい場合は、プロファイルを定義してコマンドラインで有効にする必要があります)