HomeAboutMeBlogGuest
© 2025 Sejin Cha. All rights reserved.
Built with Next.js, deployed on Vercel
[New] 타일러팀
[New] 타일러팀
/
🐣
이수연
/
📎
4 / 17 : Junit-test life cycle
📎

4 / 17 : Junit-test life cycle

Created
Apr 17, 2022 08:50 AM
Tags
📎
Junit-test life cycle
  1. Lifecycle per-method. (default)
  1. 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
 
 
참고
Junit 5 - @TestInstance
In this quick guide, we discuss Junit 5 annotation and examples on how to change test instance lifecycle behaviour using @TestInstance. JUnit creates a new instance of each test class before executing each test method. The default behaviour of Junit 5 test instance lifecycle is "per-method". This can be changed using @TestInstance annotation.
Junit 5 - @TestInstance
https://javabydeveloper.com/junit-5-test-instance-lifecycle-with-examples/
Junit 5 - @TestInstance