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を選択しました。
→テストクラスは「青」を想定していましたが、結果は「オレンジ」でした。
関連の記事