@DisplayName(“설명”)
: 테스트 설명을 일반 텍스트로 지정 가능. 가독성이 높아짐.@Disabled(“설명”)
: 테스트 안하게 함. 설명도 지정.@Disabled*(“설명”)
: @Disabled
로 시작하는 여러 애노테이션들. 해당 조건에 따라 테스트 안하게 함. 설명도 지정.@BeforeAll
: 테스트 클래스 초기화시 한 번 실행@BeforeEach
: 모든 테스트 메소드 실행 직전 실행@Test
: 테스트@AfterEach
: 모든 테스트 메소드 실행 직후 실행@AfterAll
: 테스트 클래스가 종료될 때 실행@Nested
: 중첩 클래스에 지정. 중첩 테스트가 만들기.@Tag
: 클래스나 메서드에 붙인다. 테스트 실행시 특정 태그가 붙은 것만 실행/제외 할 수 있다.assumTrue
: boolean 인자가 true 일 때만 테스트 실행assumFalse
: boolean 인자가 false 일 때만 테스트 실행assumeThat(boolean/BooleanSupplier, Executable)
: boolean 이 true이면 executable lambda 실행@RunWith(MockitoJUnitRunner.class)
→ @ExtendWith(MockitoExtension.class)
같은 종류를 찾아서 직접 변경해준다.@MockitoSettings(strictness = Strictness.LENIENT)
설정이 필요한 경우가 많이 발생했음. 단, 되도록 이 설정을 없애도록 테스트를 수정할것.Test(expected = SomeException.class)
을 JUnit 5의 예외 테스트로 변경한다.Java(모두)
assertex
JUnit 5 assertThrows
EXCEPTION
clipboard()
org.junit.jupiter.api.Assertions.assertThrows($EXCEPTION$.class, () -> { $SELECTION$ });
Ctrl+C
)한 뒤에 예외 발생 코드를 선택하고 Ctrl+Alt+J
로 단축키 실행.junit-vintage-engine
와 junit:4.x
의존성을 완전히 삭제하고서(exclude 처리가 필요할 수 있음), 그상황에서 컴파일 오류 등을 잡아낸다.public class
에서 public
을 제거하고 package private 로 전환한다. 이 과정에서 공통 테스트 라이브러리는 public
등으로 유지해야하므로 주의한다.Alt+Enter
로 Inspection 수행해서 Migrate to JUnit 5 실행Alt+Enter
로 inspection 이 잘 안된다면 Code → Analyze Code → Run Inspection by name 에서 “JUnit 4 tests can be JUnit 5” 를 선택해서 강제 Inspection 을 할 수 있다.