본문 바로가기
Java

[Java] JUnit 5 사용법 (9) - JUnit 4에서 JUnit 5로 마이그레이션 하는 방법 (JUnit 4 vs JUnit 5)

by 노력남자 2022. 9. 6.
반응형

이번 포스팅에선 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에 대해서 알아보겠습니다.

읽어주셔서 감사합니다.

반응형

댓글