JUnit 5 확장 모델
The Java JUnit 5 확장 모델
백기선님의 강의인 The Java 애플리케이션을 테스트하는 다양한 방법
을 듣고 공부한 내용을 정리한 글
JUnit 5 확장 모델이란?
JUnit 4의 확장 모델은 @RunWith(Runner), TestRule, MethodRule
Junit 5의 확장 모델은 단 하나, Extension
확장팩 등록 방법
선언적 등록 @ExtendWith
프로그래밍 등록 @RegisterExtension
자동 등록 자바 ServiceLoader
@ExtendWith
확장에 사용할 클래스를 정의하고 ExtendWith의 매개변수에 넣어주면 확장이 가능하다.
@RegisterExtension
@ExtendWith 방법의 단점은 인스턴스를 커스터마이징이 불가능하다는 단점이 있다.
해당 인스턴스를 생성할 때 Default 생성자로 생성하는데 만약 생성자를 사용하여 값을 넣어주도록 하려면 어떻게 해야할까?
이를 위해 Field에 인스턴스를 생성하고 @RegisterExtension 애노테이션을 붙여줌으로써 커스터마이징이 가능하다.
Reference
백기선님 인프런 강의 더 자바, 애플리케이션을 테스트하는 다양한 방법