JUnitとは
JUnitとはJavaで単体テストを行う際に使用するフレームワークです。
単体テストとは、開発において何段階かテストを行う必要があるのですが、そのテストの中で一番最初に行うテストです。
1つの機能に対してテストを行うのは基本的には単体テストの段階であるため、テストが落ちた際に原因を探りやすいというのがメリットです。
1回テストを作成してしまえば、今後修正が加わった際に同じテストを実行するだけでコードのテストを行うことができます
JUnitでは作成したjavaクラスや関数毎にテストができます。
JUnitの使い方
@Test
@Testをメソッドに付与することでテストメソッドと認識させることができます
@Test
public void testMethod() {
}
Assert
Assertを使用することで値を比較してテストすることができます。
public Int sumNum(int num1, int num2) {
// num1とnum2の合計値を返す
return num1 + num2;
}
public Boolean isCompareNum(int num) {
// numが5より大きければtrueを返す
return 5 < num;
}
@Test
public void testMethod() {
// sumNumの値が10であるかテストを行う
int sumNum = sumNum(2, 8);
assertEquals(sumNum, 10);
// isUpperNumの値がtrueであるかテストを行う
boolean isUpperNum = isCompareNum(10);
assertTrue(isUpperNum);
// isLowerNumの値がfalseであるかテストを行う
boolean isLowerNum = isCompareNum(1);
assertFalse(isLowerNum);
}
@BeforeEach
@BeforeEachをメソッドに付与することで各テストメソッドを実行する前に実行することができます。
@BeforeEach
public void beforeEach() {
}
@Test
public void testMethod1() {
}
@Test
public void testMethod2() {
}
// beforeEach() → testMethod1() → beforeEach() → testMethod2() の順序で実行される
@AfterEach
@AfterEachをメソッドに付与することで各テストメソッドを実行した後に実行することができます。
@AfterEach
public void afterEach() {
}
@Test
public void testMethod1() {
}
@Test
public void testMethod2() {
}
// testMethod1() → afterEach() → testMethod2() → afterEach() の順序で実行される
@BeforeAll
@BeforeAllをメソッドに付与することでクラス内の全テストメソッドを実行する前に実行することができます。
@BeforeAll
public void beforeAll() {
}
@Test
public void testMethod1() {
}
@Test
public void testMethod2() {
}
// beforeAll() → testMethod1() → testMethod2() の順序で実行される
@AfterAll
@AfterAllをメソッドに付与することでクラス内の全テストメソッドを実行した後に実行することができます。
@AfterAll
public void afterAll() {
}
@Test
public void testMethod1() {
}
@Test
public void testMethod2() {
}
// testMethod1() → testMethod2() → afterAll() の順序で実行される