unit 5란?
크게 세가지 서브 프로젝트의 여러 모듈로 구성되어 있다.
JUnit 5 = Platform + Jupiter + Vintage
Platform
JVM에서 테스트를 하기 위한 기초적인 역할을 담당한다.
테스트를 하기 위한 TestEngine API 제공
JUnit 4 기반 테스트 제공
Jupiter
JUnit 5에서 테스트 및 확장하기 위한 프로그래밍 모델과 확장 모델의 조합이다.
Platform에서 사용하는 TestEngine은 Jupiter를 통해 제공하는 것이다.
Vintage
하위 버전들 기반의 테스트를 실행시키기 위해 해당 TestEngine을 제공한다.
JUnit 5를 사용하기 위해서는 런타임에 Java 8 이상이 필요하다.
나는 Java 11을 사용하여 구현해 보았다.
기본 테스트
import org.junit.jupiter.api.Test;
import static org.junit.jupiter.api.Assertions.*;
class MainTest {
@Test
public void testAddition() {
int result = 2 + 2;
assertEquals(4, result);
}
}
실패시
@Test
public void testAddition() {
int result = 2 + 3;
assertEquals(4, result);
}
result 값에는 2+3 인 5가 입려되어있다.
하지만 assertequals 사용하여 두 객체의 값이 같은지의 여부를 확인하였다.
그 결과 예측 값과 실제 값이 다르다는 오류메세지를 보여준다.