34

次のようなもの。

確実に私のdaoテストをスキップする方法が欲しいです。スイートを定義するオーバーヘッドを回避しようとしています。

CI では、すべてのテストを実行する毎晩の 1 つと、「高速」テストのみを実行する SCM の別の 5 分間のポーリングが必要です。

mvn -DskipPattern=**.dao.** test
4

3 に答える 3

52

ショーンの答えを拡張させてください。これはあなたが設定したものです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

それでおしまい。

于 2010-12-17T18:19:35.927 に答える
25

もちろん問題ありません:

<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>

参照:

(除外はコマンドラインから設定できないため、この動作を条件付きで有効にしたい場合は、プロファイルを定義してコマンドラインで有効にする必要があります)

于 2010-12-08T16:54:50.573 に答える