[Test] Junit5

Junit 5 어노테이션 정리

@TestInstance

@TestInstance(Lifecycle.PER_CLASS)
public class LifecycleClass {
	private int num = 0;

	@Test
	void test() {
		num += 1;
		assertEquals(1, num);
	}

	@Test
	void test2() {
		num += 1;
		assertEquals(2, num);
	}
}

테스트 인스턴스 라이프 사이클 설정 어노테이션

  • Lifecycle.PER_METHOD
    • 메서드마다 인스턴스 생성
  • Lifecycle.PER_CLASS
    • 인스턴스 하나 생성

@Order

순서 보장 어노테이션

@TestMethodOrder

테스트 순서 설정 어노테이션

  • MethodOrderer.MethodName
  • MethodOrderer.DisplayName
  • MethodOrderer.OrderAnnotation
  • MethodOrderer.Random

@RepeatedTest

테스트 설정 횟수 만큼 반복 실행

class RepeatedTestTest {
	@RepeatedTest(10)
	void repeatedTest() {
		System.out.println("this is executed repeatedly");
	}
}

@TestFactory

@ParameterizedTest