2010-11-24 8 views
3

私はScala(JUnit 4)を使用してJavaプロジェクトのユニットテストケースを作成しています。私はMavenを使ってテストを実行しています。Maven/Scalaユニットテストファイルを無視する

私はいくつかの共通の機能(@BeforeClassなど)を提供するために、テストのためのsrc/test/scala/com.xxx.BaseTestクラス、ない実際の@Test例を書かれています。

mvnを使用してテストを実行するたびに、BaseTestクラスのテストを検索しようとしますが、存在しないためエラーが発生します。

@Ignoreを使用する以外に、Maven/Scala/SurefireにBaseTestクラスを実行させない方法はありますか? @Ignoreを追加するのは大したことではありませんが、私のテストランでは、実際に "Skipped:1"というラベルを付けたものよりももう1つのテストが表示されます。

更新日:解決策が見つかりました。 BaseTestの名前をBaseに変更しました。 Mavenはこれを無視するようになりました。他の方法はありますか?

答えて

1

ベーステストクラスの名前を*テスト終了にしないでください(例:BaseTestCase.java)。これは私がお勧めするものです。

おそらくmavenはsurefire pluginでテストを実行するので、確かにsurefireプラグインを設定してBaseTest.javaをスキップできます。私は、デフォルトでは、確実に、*Testで終わるすべてのクラスがテストクラスであると仮定していると思います。 pom.xmlのようなものです。

<build> 
    <plugins> 
     <plugin> 
     <groupId>org.apache.maven.plugins</groupId> 
     <artifactId>maven-surefire-plugin</artifactId> 
     <version>2.6</version> 
     <configuration> 
      <excludes> 
      <exclude>**/BaseTest.java</exclude> 
      </excludes> 
     </configuration> 
     </plugin> 
    </plugins> 
    </build> 
+0

私は2番目の提案を試みましたが、IDは機能しませんでした。 Scalaのテストファイルと関係するかもしれません。 – Ralph

+0

@Ralph、あなたのpom.xmlの外観を表示できますか? –

関連する問題