maven2のテストでインナークラスがテストクラスと認識される
Eclipse上でテストも通ったことを確認してコミットした所、Hudson様に怒られました。
みてみると、テストケースの中のインナークラスが問題のようです・・・。
テストケースの中でモックを作成するときに無名インナークラスを作ることは、結構あるかと思います。
このような場合、maven-surefire-pluginを設定しておけばテスト対象クラスをフィルタリングできます。
<plugin> <artifactId>maven-surefire-plugin</artifactId> <version>2.4.3</version> <configuration> <includes> <exclude>**/*Test*.java</exclude> </includes> </configuration> </plugin>
excludesでインナークラスをパターンから除外します。
インナークラスの場合、元クラス$内部クラス名となるのでこんな感じでOK。
<plugin> <artifactId>maven-surefire-plugin</artifactId> <version>2.4.3</version> <configuration> <includes> <exclude>**/*Test*.java</exclude> </includes> <excludes> <exclude>**/*Test$*.java</exclude> </excludes> </configuration> </plugin>
これでOK。