Language/Java(TestCode)
[TestCode] junit-platform.properties 설정파일 (JUnit5)
비독개
2022. 8. 29. 13:05
- 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이 출력되게 된다.