JUnit 5 (2)

들어가기에 앞서

공식 유저 가이드 의 1 ~ 2장을 정리하였다.

JUnit 5

JUnit 5란 무엇인가

JUnit 5 = JUnit Platform + JUnit Jupiter + JUnit Vintage

기존의 JUnit 버전들과는 달리, JUnit 5는 서로 다른 하위 프로젝트로부터 기원한 서로 다른 모듈의 집합이다.

JUnit 5는 실행 시 Java 8, 또는 그 이상 버전을 필요로 하나, 그 하위 버전의 JDK 로도 컴파일은 가능하다.

설치해보기

JUnit 5는 메이븐 중앙 저장소Maven Central에 등록되어 있다.

의존성 정보

JUnit Platform

아티팩트 아이디 설명
junit-platform-commons JUnit 내부적으로 사용하는 공통 라이브러리(혹은 유틸리티). JUnit 모듈 외부에서 사용되는 어떠한 상황도 상정하고 있지 않음.
junit-platform-console 콘솔을 사용하여 플랫폼JUnit Platform 상에서 수행되는 테스트를 위한 지원 라이브러리
junit-platform-console-standalone 콘솔 런처ConsoleLauncher 의 실행 가능한 JAR 파일
junit-platform-engine JUnit 5 기반의 테스트 수행을 위한 API
junit-platform-gradle-plugin 그래들Gradle을 사용한 플랫폼 상 테스트를 위한 지원 라이브러리
junit-platform-launcher 테스트 플랜을 구성하고 실행하는 API - IDE 및 빌드 도구에서 활용
junit-platform-runner JUnit 4 환경에서 플랫폼 이용 테스트를 지원하기 위한 러너
junit-platform-suite-api test suite 구성을 위한 어노테이션
junit-platform-surefire-provider Maven Surefire 지원 라이브러리

JUnit Jupiter

아티팩트 아이디 설명
junit-jupiter-api 테스트 작성 및 확장(러너Runner 등)을 위한 주피터JUnit Jupiter API
junit-jupiter-engine 주피터 모듈의 테스트 엔진TestEngine 구현체
junit-jupiter-params 인자-있는-테스트 를 위한 지원 라이브러리
junit-jupiter-migrationsupport JUnit 4에서 주피터 모듈로의 마이그레이션 지원 라이브러리

JUnit Vintage

아티팩트 아이디 설명
junit-vintage-engine 빈티지 모듈JUnit Vintage의 테스트 엔진TestEngine 구현체. JUnit 3 또는 4에서 작성된 테스트를 플랫폼JUnit Platform에서 실행시킬 때 사용

사족

개별 모듈의 버전 번호를 보면 어느 모듈이 어떤 목적으로 개발되었는지를 짐작할 수 있다. 예를 들면 2017년 10월 29일 현재 빈티지 모듈JUnit Vintage의 버전 번호는 4.12.1 이고, 주피터 모듈JUnit Jupiter의 버전 번호는 5.0.1 이다. 이는 빈티지 모듈은 기존 JUnit 4의 하위호환을 위해, 주피터 모듈은 새로운 JUnit 5 스타일의 테스트 작성을 위해 개발되었다는 증거가 아닐까.

마지막으로, 담대한 신인그리고 범 JUnit 계열 테스트의 희망찬 미래인 플랫폼 모듈JUnit Platform의 버전은 1.0.1 이다.