Webエンジニアのメモ帳

技術的な話を中心に書いています。

【Java】JUnitを使って単体テストを書く

Javaのテストコードの書き方を説明します。

1. ライブラリの導入

テストコードを書くにはJUnitというライブラリを使います。

ビルドツールにMavenを使っている場合は、pom.xmlの内に

<dependency>
  <groupId>junit</groupId>
  <artifactId>junit</artifactId>
  <version>4.12</version>
  <scope>test</scope>
</dependency>

を追加します。

今回はバージョンを4.12としていますが、最新版がいくつかは以下のサイトで確認できます。 https://mvnrepository.com/artifact/junit/junit

JUnitのバージョンが古いと以下のコードが動かない場合があるので注意してください。

2. テストクラスの作成

テスト対象のコードはsrc/main/java/Sample.javaです。

public class Sample {
  public int add(int a, int b) {
    return a + b;
  }
}

このクラスのテストを行うクラスをsrc/test/SampleTest.javaとします。

import org.junit.Test;
import static org.hamcrest.CoreMatchers.is;
import static org.junit.Assert.assertThat;

public class SampleTest {
  @Test
  public void sampleTest() {
    assertThat(new Sample().add(2, 3), is(5));
  }
}

このテストクラスでは、sampleTest()メソッドにおいて、Sampleクラスのadd()メソッドが正しく動くかを確認しています。

@Testアノテーションを付与したメソッドはテストメソッドと認識され、EclipseIntelliJ IDEAなどの統合開発環境では、メソッドの横に表示されるボタンをクリックしたりするだけで実行ができます。