JUnit5는 이전 버전과는 다르게 세개의 서브 프로젝트로 이루어져있습니다.
JUnit Platform
JVM에서 테스트 프레임워크를 실행하는데 기초가 되는 기능을 제공합니다. 또한 TestEngineAPI를 제공해 테스트 프레임워크를 개발할 수 있습니다.
JUnit Jupiter
JUnit5에서 테스트를 작성하고 확장 하기 위한 새로운 프로그래밍 모델과 확장 모델의 조합입니다.
JUnit Vintage
이전 버전에 대한 하위 호환성을 위해 하위 버전 기반으로 돌아가는 플랫폼에 테스트 엔진을 제공해줍니다.
JUnit5는 java8부터 지원하며, 이전 버전으로 작성된 테스트 코드여도 컴파일이 지원됩니다.
JUnit을 직접 다운로드해서도 사용이 가능하지만, 우리는 빌드과정에 대한 종속성 관리를 통해 사용할 수 있습니다. 저는 Gradle 환경에서 많은 작업을 하기때문에 Gradle 기준으로 학습하겠습니다.
JUnit5에서 사용할 수 있는 기능과 사용 방법을 알아 봅시다. 다음 예시 코드는 JUnit Jupiter를 사용해 테스트를 작성하는 예시입니다.
import static org.junit.jupiter.api.Assertions.assertEquals;
import example.util.Calculator;
import org.junit.jupiter.api.Test;
class MyFirstJUnitJupiterTests {
private final Calculator calculator = new Calculator();
@Test
void addition() {
assertEquals(2, calculator.add(1, 1));
}
}