Java JUnit4のテストのサンプル

JavaのEclipseを使用したJUnit4のテストのサンプルです。

確認環境
・eclipse4.7 / 4.6
・junit-4.12

目次

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

以下のコードに対して、JUnitでテストを行います。
Test1というクラスで、メソッドは引数がint型で戻り値はString型です。

package test1;

class Test1 {
	String testSpeak(int i) {

		if (i == 1) {
			return "Hello";

		} else if (i == 2) {
			return "こんにちは";
			
		} else {
			return "1or2を入力して下さい";
		}
	}
}

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

1.テストするクラスを右クリックし>「新規」>「その他」をクリックします。

 

2.「Java」>「JUnit」>「JUnitテスト・ケース」をクリックし「次へ」を押します。

 

3.「新規JUnit4テスト」を選択し、「次へ」を押します。

 

4.テストするクラスとメソッドにチェックを入れ、「完了」を押すとテストクラスが生成されます。

 

5.JUnit4ライブラリがビルドパスに追加されていない場合、以下のダイアログが表示されます。
「JUnit4ライブラリーをビルド・パスに追加」を選択して「OK」を押します。

3.自動生成されたテストクラスを確認する

1.上記操作の結果、Test1Testクラスが自動で生成されました。
画面上にJUnit4ライブラリーも追加されています。

 

 

2.Test1Testクラスのコードは以下のようになっています。
11行目のfailは、テストを失敗させるメソッドです。

package test1;

import static org.junit.Assert.*;

import org.junit.Test;

public class Test1Test {

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

}

4.自動生成されたテストクラスのコードを実行する

1.自動生成されたテストクラスのコードを実行します。
テストコードを右クリックしダイアログを表示します。

 

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

 

3.まだテストコードを記述していないので失敗になります。
赤い帯で、失敗は1となっています。
対象のメソッドを選択すると、障害トレースに上記コードのfailメソッドがある行のメッセージが表示されます。
この例では、testTestSpeak(0.003s)を選択します。

5.テストクラスのコードを修正する

テストクラスのコードを以下のように修正します。
テストを行うメソッドごとに@Testアノテーションをつける必要があります。
13,19,25行目にあるisメソッドを使用するため5行目を手動で追加(コピペ)します。
13,19,25行目は、メソッドの戻り値が想定の値かどうかを確認しています。
比較するメソッドはassertEqualsではなく、Junit4.4で追加されたassertThatが推奨です。可読性が高くなります。

package test1;

import static org.junit.Assert.*;
import org.junit.Test;
import static org.hamcrest.CoreMatchers.*;

public class Test1Test {

	@Test
	public void testTestSpeak1() {
		Test1 test1 = new Test1();
		String t1 = test1.testSpeak(1);
		assertThat(t1,is("Hello"));	
	}
	@Test
	public void testTestSpeak2() {
		Test1 test1 = new Test1();
		String t1 = test1.testSpeak(2);
		assertThat(t1,is("こんにちは"));	
	}
	@Test
	public void testTestSpeak3() {
		Test1 test1 = new Test1();
		String t1 = test1.testSpeak(3);
		assertThat(t1,is("1or2を入力して下さい"));	
	}
}

6.テストクラスのコードを実行する

1.テストクラスのコードを実行します。
テストクラスを右クリックしダイアログを開きます。

 

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

 

3.想定どうりの結果のため成功しました。
成功だと緑色の帯が表示されます。

 

4.想定が違った場合、対象のメソッドを選択すると障害トレースに内容が表示されます。
この例では、testTestSpeak2(0.000s)を選択しました。
→テストクラスは「こんにちは」を想定していましたが、結果は「こんばんわ」でした。

 

関連の記事

Java JMockitのテストのサンプル
Java assertThatメソッドのサンプル

 はまったらエンジニア特化型Q&Aサイト
【teratail(テラテイル)】で質問しましょう!


△上に戻る