社内se × プログラマ × ビッグデータ

プログラミングなどITに興味があります。

JUnit DataPoint によるテストパラメータ定義

例えば、文字列を引数に取るメソッドをテストするにあたり、色んな文字列でテストしたい場合。
テストする文字列ごとにテストケースを作成するのは大変。
DataPoint を使うことで、それらのパラメータを配列で管理することができ、文字列一つずつを一つのテストケース内で自動的に適用しながらテストすることが可能となる。
※そのメソッドの期待値が引数に依存せずに同一であれば評価しやすいが、もし異なる場合、それぞれの引数に対する期待値を別途定義が必要

@RunWith(Theories.class)
public class DataPointSampleTest2 {
	@DataPoints	// for multi test data
	public static String[] DATA_PARAM = { "JAPAN", "JAPANESE" };
	
	private static int index = 0;
	
	@Theory
	public void test(String param) {
		System.out.println("test param=" + param);
		assertThat(param, is(DATA_PARAM[index++]));
	}
}

このテストでは、引数param として、”JAPAN” と "JAPANESE" が順番にテストされる。
コンソールでの標準出力。

test param=JAPAN
test param=JAPANESE