JUnitを使用したテスト


Java Webプログラミングの次のステップを学ぶとき、テストは開発者が備えなければならない重要なスキルであることを認識しているので、main()メソッドを使用してコンソールでテストを行います.しかし多くの問題があり、JUnitを利用してmain()メソッドを克服する方法を見てみましょう.
まず、簡単な本番コードを作成する必要があります.2つの数値を加算したSumクラスを作成しました.
public class Sum {
	
	public int add(int input1,int input2) {
		return input1+input2;
	}
}

次に、赤いアイコンを表示し、「JUnit Test Case」をクリックします.

クラス名は接尾辞でテストする必要があります.

次のメソッド構造があります.
public class SumTest {

	@Test
	public void test() {
		Sum sum=new Sum();
		assertEquals(3, sum.add(1, 2));
	}

}
assertEquals()メソッドを使用すると、結果値をプログラム(目ではなく)で自動化できます.

JUnitコードを実行すると、次のことができます.
assertEquals()に加えて、結果値が空であるかどうかを検証するassertType()メソッド、assertFalse()メソッド、assertNullメソッド、assertNotNullメソッド、assertArrayEquals()メソッドが用意されています.
ここにテストコードを追加するとSumクラスが重複します.
public class SumTest {
	private Sum sum=new Sum();
	@Test
	public void test() {
		
		assertEquals(3, sum.add(1, 2));
	}

}
このように実施できますが、おすすめしません.これらのフィールドで初期化を行うと、他のテストの値を変更すると、異なる値になる可能性があります.
public class SumTest {
	private Sum sum;
	
	@Before
	public void setup() {
		sum=new Sum();
	}
	
	@Test
	public void test() {
		
		assertEquals(3, sum.add(1, 2));
	}

}
@Beforeプレゼンテーションでは、次の操作を推奨します.
JUitは@Beforeプレゼンテーションを提供し、初期化操作のように@Afterプレゼンテーションを提供します.@Afterプレゼンテーションは、メソッドの実行が終了した後に実行され、後続の処理を担当します.
これにより、タスクを初期化および後処理するたびに、各テストに影響を及ぼさずに独立して実行できるようになります.
これはJUnitの基本的な使い方です