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
@BeforeAlland@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
참고
![[New] 타일러팀](https://www.notion.so/image/https%3A%2F%2Fs3-us-west-2.amazonaws.com%2Fsecure.notion-static.com%2Fd0e59f54-3983-49c1-8f40-b92d6721d616%2Fkisspng-linux-fedora-unix-operating-systems-linux-5ab6faa3d2f047.949926281521941155864.png?table=block&id=8795517e-799e-41fd-9d58-bd2720695384&cache=v2)

