Unit 4에서 jupiter 라는 이름을 가지고 있는 Unit 5 로 마이그레이션을 했다.
기존에 Unit 5로 짜여 있는 코드가 에러가 발생했다.
이유는 구별을 하기 위해 애너테이션을 변경했기 때문이다.
JUnit 4(vintage) | JUnit 5(jupiter) | |
setUp | @Before | @BeforeEach |
tearDown | @After | @AfterEach |
test class setUp | @BeforeClass | @BeforeAll |
test class tearDwon | @AfterClass | @AfterAll |
테스트 무시 | @Ignore | @Disabled |
@Rule (사실상 없어졌다) | @ExtendWith |
이름은 동일한데 패키지만 변경된 것들이 있다.
JUnit 4(vintage) | JUnit 5(jupiter) | |
@Test | org.junit.Test | org.junit.jupiter.api.Test |
org.junit.rules.ExternalResource | ||
예외처리 방법이 바뀌었다.
@Test(expected = Exception.class)
처럼 expected를 사용하던 것을 본문내에 assert로 쓴다.
Assertions.assertThrows(Exception.class, () -> {});
RunWith ~ Mockito
@RunWith(MockitoJUnitRunner.class) 는 @ExtendWith(MockitoExtension.class)
테스트 클래스 및 메서드가 package private이어도 된다.
전에는 테스트 클래스, 메서드가 public 이어야 했는데, 이젠 default이면 된다.
같이 읽기
https://junit.org/junit5/docs/current/user-guide/
https://www.baeldung.com/junit-5-migration
https://www.baeldung.com/mockito-junit-5-extension
https://howtodoinjava.com/junit5/expected-exception-example/
'Programing > OpenSource' 카테고리의 다른 글
[Util] EUC-KR to JavaScript escaped string (0) | 2019.06.13 |
---|---|
[Sonarqube] Make sure using this hardcoded IP address is safe here. (0) | 2019.06.12 |
[Gradle] 3.4 부터 의존성 선언이 바뀌었다. (0) | 2019.05.16 |
[Spring Boot] 2.0.2 -> 2.1.4 업데이트 후 TC 깨짐 (0) | 2019.05.15 |
[Gson] List 타입 추론 방법 feat Super Type Tokens (0) | 2019.05.07 |