인프런의 "더 자바, 애플리케이션을 테스트하는 다양한 방법”을 보고 정리한 것임

1. 확장 모델

  • JUnit 4의 확장 모델은 @RunWith(Runner), TestRule, MethodRule.
  • JUnit 5의 확장 모델은 단 하나, Extension.

확장 등록 방법

  • 선언적인 등록 @ExtendWith
    • Extendtion 뒤에 인자로 확장할 Extension을 추가하여 사용
@ExtendWith(FindSlowTestExtension.class)
@TestMethodOrder(MethodOrderer.OrderAnnotation.class)
class StudyTest {
}
  • 프로그래밍 등록 @RegisterExtension
    • 생성자(Constructor)를 통해 확장기능에 의존성을 주입하거나, 빌더등을 통해서 프로그램을 통한 설정이 가능
    • 생명주기에 맞춰 static으로 선언
    • @RegisterExtension으로 등록하고자 하는 필드는 null이거나 private으로 지정되면 안됨
@TestMethodOrder(MethodOrderer.OrderAnnotation.class)
class StudyTest {

    @RegisterExtension
    static FindSlowTestExtension findSlowTestExtension = new FindSlowTestExtension(1000L);
}

2. JUnit 설정 파일

  • JUnit 설정 파일로, 클래스패스 루트 (src/test/resources/)에 넣어두면 적용된다.

  • junit-platform.properties

#테스트 인스턴스 라이프사이클 설정
junit.jupiter.testinstance.lifecycle.default = per_class

#@Disabled 무시하고 실행하기
junit.jupiter.conditions.deactivate = org.junit.*DisabledCondition

#테스트 이름 표기 전략 설정
junit.jupiter.displayname.generator.default = org.junit.jupiter.api.DisplayNameGenerator$ReplaceUnderscores
profile
고우고우~

0개의 댓글