MavenでJUnit 4をテストするためのpom.xml

  • 15
    Like
  • 0
    Comment
More than 1 year has passed since last update.

JUnit 4のテストクラスは、mvn testしてもテストクラスがテストされない。どうやら、標準ではJUnit 3の方式で*Testクラスを探しに行ってる?っぽいので、pom.xmlで調整。

<build>
  <plugin>
    <groupId>org.apache.maven.plugins</groupId>
    <artifactId>maven-surefire-plugin</artifactId>
    <version>2.16</version>
    <configuration>
      <argLine>-Dfile.encoding=UTF-8</argLine>
      <includes>
        <include>**/*.class</include>
      </includes>
      <excludes>
        <exclude>**/HogeTestRule.class</exclude>
      </excludes>
    </configuration>
  </plugin>
</build>

工夫した点は2つ。

  • configulationのargLineでfile.encodingをUTF-8に
    • 日本語メソッド名・クラス名・属性名を使っている所があるので、指定しないとエラーになる
  • ExternalResourceクラスを継承したテストルールクラスをテスト対象外へ
    • includesで全てのクラスを指定してるけど、テストルールはテストしないのでexclude化

これで、JUnit 4を使っていても、Mavenでビルド・テストできる。