Java JUnit5のテストのサンプル

JavaのJUnit5のテストのサンプルです。

確認環境
・Java 8
・Eclipse 4.8
・junit-5.12

目次

サンプル 1.JUnitでテストするコード
  2.テストクラスを作成する
  3.テストクラスを修正する
  4.テストクラスを実行する

1.JUnitでテストするコード

以下は、JUnitでテストするコードです。

4行目のメソッドに対して、別にテストクラスを新規作成してJUnitでテストを行います。
テストクラスでは、以下のテストメソッドを記述します。
・引数に1をセットしたら「赤」が返ってくること
・引数に2をセットしたら「青」が返ってくること
・引数に1,2以外をセットしたら「1or2を入力して下さい」が返ってくること

package test1;

class Color1 {
	String getColor(int i) {
		
		if (i == 1) {
			return "赤";

		} else if (i == 2) {
			return "青";
			
		} else {
			return "1or2を入力して下さい";
		}
	}
}

 

2.テストクラスを作成する

テストクラスを作成します。

1.テストするクラスを右クリックし「新規」→「JUnitテスト・ケース」をクリックします。
※ない場合は、「新規」→「その他」→「Java」→「JUnit」を選択してJUnitテスト・ケースを選択します。

 

2.「新規JUnit Jupiterテスト」を選択します。
「名前」はクラス名をつけます。クラス名はテストクラスとわかるようにTestの文字を入れます。
「テスト元クラス」は上記手順で右クリックしたクラスが入っています。「次へ」を押します。

 

3.テストするクラスとメソッドにチェックを入れ、「完了」を押します。

 

4.JUnit5ライブラリがビルドパスに追加されていない場合、以下のダイアログが表示されます。「JUnit5ライブラリーをビルド・パスに追加」の上にある「次のアクションを実行」を選択して「OK」を押します。

 

5.フォルダとファイル構成は以下のようになります。

 

6.作成したテストクラスのコードは以下のようになります。
8行目のfailは、テストを失敗させるメソッドです。

package test1;
import static org.junit.jupiter.api.Assertions.*;
import org.junit.jupiter.api.Test;

class Color1Test {
	@Test
	void testGetColor() {
		fail("まだ実装されていません");
	}
}

 

3.テストクラスを修正する

テストクラスを以下のように修正します。

package test1;
import static org.junit.Assert.assertThat;
import org.junit.jupiter.api.DisplayName;
import org.junit.jupiter.api.Test;
import static org.hamcrest.CoreMatchers.*;

class Color1Test {

	@Test
	@DisplayName("1つめのテスト")
	public void testGetColor1() {
		Color1 c1 = new Color1();
		String t1 = c1.getColor(1);
		assertThat(t1,is("赤"));	
	}
	@Test
	@DisplayName("2つめのテスト")
	public void testGetColor2() {
		Color1 c1 = new Color1();
		String t1 = c1.getColor(2);
		assertThat(t1,is("青"));	
	}
	@Test
	@DisplayName("3つめのテスト")
	public void testGetColor3() {
		Color1 c1 = new Color1();
		String t1 = c1.getColor(3);
		assertThat(t1,is("1or2を入力して下さい"));	
	}
}

9,16,23行目は、テストメソッドとわかるようにtestの文字を入れます。

テストを行うメソッドごとに@Testアノテーションをつけます。
10行目の@DisplayNameは、結果に指定した文言を表示します。
assertThatのisメソッドを使用するため5行目を手動で追加(コピペ)します。
14,21,28行目は、メソッドの戻り値が想定の値かどうかを確認しています。
比較するメソッドはassertEqualsではなく、assertThatが良いです。
可読性が上がります。

4.テストクラスを実行する

テストクラスを実行します。

1.テストクラスを右クリックしダイアログを開きます。

 

2.ダイアログの下にある「実行」>「JUnitテスト」をクリックするとJUnitテストが実行されます。

 

3.想定どうりの結果のため成功しました。
成功だと緑色の帯が表示されます。
Color1Testの横の印をクリックすると下にメソッドが展開されます。

 

4.想定が違った場合、赤の帯が表示されます。

対象のメソッドを選択すると障害トレースに内容が表示されます。
この例では、testGetColor2を選択しました。
→テストクラスは「青」を想定していましたが、結果は「オレンジ」でした。

関連の記事

Java JUnit4の使い方とテストのサンプル

△上に戻る