Junit-test life cycle
- Lifecycle per-method. (default)
- Lifecycle per-class.
: @TestInstance()로 설정가능
Lifecycle per-method mode
- 테스트가 진행될때 메서드 단위로 새로운 인스턴스 생성
@TestInstance(Lifecycle.PER_METHOD) public class MathUtilTest { private int result = 5; @Test void test_Add() { result = MathUtil.add(result, 5); System.out.println("test_Add(5,5) => "+result); assertEquals(10, result); } @Test void test_Multiply() { result = MathUtil.multiple(result, 5); System.out.println("test_Multiply(5,5) => "+result); assertEquals(25, result); } @Test void test_Devide() { result = MathUtil.devide(result, 5); System.out.println("test_Devide(5,5) => "+result); assertEquals(1, result); } }
결과
test_Devide(5,5) => 1 test_Add(5,5) => 10 test_Multiply(5,5) => 25
Lifecycle per-class mode
- 테스트가 진행될 때 클래스 단위로 인스턴스 한번 생김
- non-static
@BeforeAll
and@AfterAll
사용가능
@TestInstance(Lifecycle.PER_CLASS) public class MathUtilTest { private int result = 5; @Test void test_Add() { result = MathUtil.add(result, 5); System.out.println("test_Add(5,5) => "+result); assertEquals(10, result); } @Test void test_Multiply() { result = MathUtil.multiple(result, 5); System.out.println("test_Multiply(5,5) => "+result); assertEquals(25, result); } @Test void test_Devide() { result = MathUtil.devide(result, 5); System.out.println("test_Devide(5,5) => "+result); assertEquals(1, result); } }
test_Devide(5,5) => 1 test_Add(5,5) => 6 test_Multiply(5,5) => 30
참고