반응형
이번 포스팅에선 JUnit 4에서 JUnit 5으로 마이그레이션 하는 방법에 대해서 알아보겠습니다.
JUnit 4 vs JUnit 5
JUnit 4이 JUnit 5로 버전업되면서 바뀐 점을 먼저 알아보겠습니다.
JUnit 4 | JUnit 5 |
org.junit | org.junit.jupiter.api |
@Before / @After | @BeforeEach / @AfterEach |
@BeforeClass / @AfterClass | @BeforeAll / @AfterAll |
@Ignore | @Disabled |
@Category | @Tag |
@Runwith | @ExtendWith |
@Rule / @ClassRule | @ExtendWith / @RegisterExtension |
마이그레이션 순서
1. JUnit 4 -> 5 버전 변경
JUni4를 5로 올리면서 기존 작성된 테스트 코드에 있는 어노테이션을 굳이 바꿀 필요는 없습니다. 그 이유는 JUnit 5의 구성 요소 중 JUnit 3, 4 를 지원해주는 JUnit Vintage 덕분입니다.
2. 만약 기존 소스 중 아래 명시된 JUnit 4의 기능을 사용하고 있다면 junit-jupiter-migrationsupport 모듈 의존성을 추가후 @EnableRuleMigrationSupport를 클래스에 붙혀줘야합니다.
아래 기능들은 JUnit Vintage에서 제공해주지 않습니다. 그래서 별도의 모듈이 필요합니다.
(1) @Rule의 subclass 3가지
org.junit.rules.ExternalResource (including org.junit.rules.TemporaryFolder)
org.junit.rules.Verifier (including org.junit.rules.ErrorCollector)
org.junit.rules.ExpectedException
(2) @Ignore
JUnit 4에서 5로 마이그레이션 하는 경우가 그렇게 많은진 모르겠지만 방법이 아주 쉽기 때문에 기존 레거시에서 JUnit 4를 사용하고 계시다면 한 번 시도해보시는 것도 좋을 거 같습니다.
다음 포스팅에선 테스트가 개발자가 원하는 대로 실행됐는지 확인할 수 있는 Assertions, Assumptions에 대해서 알아보겠습니다.
읽어주셔서 감사합니다.
반응형
댓글