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。