- Junit 설정 파일로, 클래스 패스 루트 (src/test/resources/)에 넣어두면 적용된다.
- 파일 생성시 클래스 패스로 인식하지 않을 수 있다. 그런 경우 아래와 같이 설정해주면 된다.
- File -> Project Structure -> Modules -> 해당 디렉터리를 Test Resorces로 설정
# 테스트 인스턴스 라이프사이클 설정
junit.jupiter.testinstance.lifecycle.default = per_class
- 위처럼 해당 파일에 per_class로 설정해주게되면 전체 테스트 코드는 per_class로 실행되는 걸 확인할 수 있다.
- 클래스에서 @Testinstance 어노테이션을 제거해도 위처럼 하나의 인스턴스로 동작하는걸 확인할 수 있다.
@TestInstance(TestInstance.Lifecycle.PER_CLASS) // 테스트 클래스당 인스턴스를 하나만 만들어 사용한다.
# 확장팩 자동 감지 기능
junit.jupiter.extensions.autodetection.enabled = true
- 기본값이 false인 확장팩 자동 감지를 true로 설정해 줄 수 있다.
# @Disabled 무시하고 실행하기
junit.jupiter.conditions.deactivate = org.junit.*DisabledCondition
- 테스트 메서드에 @Disabled 어노테이션을 설정해줄 시 실행이 불가한 테스트이거나 실행하지 않을 비활성 테스트로 만들어 줄 수 있는데 이 어노테이션이 설정되어있어도 무시하고 실행하게 해 준다.
# 테스트 이름 표기 전략 설정
junit.jupiter.displayname.generator.default = \
org.junit.jupiter.api.DisplayNameGenerator$ReplaceUnderscores
- @DisplayNameGeneration 어노테이션을 전체 적용할 수 있다. (테스트 이름 표기 전략) ex] 언더스코어를 공백으로
- 역슬래시(\)는 줄 바꿈을 의미한다.
- 단, 우선순위는 @DisplayName 어노테이션이 더 높기 때문에 해당 어노테이션이 설정된 경우 설정되어있는 name이 출력되게 된다.
'Language > Java(TestCode)' 카테고리의 다른 글
[TestCode] Mock 객체 만들기 Mockito (JUnit5) (0) | 2022.09.04 |
---|---|
[TestCode] @TestMethodOrder 테스트 순서 (JUnit5) (0) | 2022.08.28 |
[TestCode] @TransInstance 테스트 인스턴스 (JUnit5) (0) | 2022.08.27 |
[TestCode] @RepeatedTest, @ParameterizedTest 테스트 반복하기 (JUnit5) (0) | 2022.08.26 |
[TestCode] @interface 커스텀 태그 (JUnit5) (0) | 2022.08.25 |