제이유닛은 자바 프로그래밍 언어용 유닛 테스트 프레임워크이다. JUnit은 테스트 주도 개발 면에서 중요하며 SUnit과 함께 시작된 XUnit이라는 이름의 유닛 테스트 프레임워크 계열의 하나이다.
JUnit Platform: 테스트를 실행하는 런처와 TestEngine API를 제공함.
Jupiter: TestEngine API. JUnit5에서 제공함.
Vintage: TestEngine API. JUnit3, 4에서 제공함.
JUnit4는 하나의 라이브러리로 구성된다.
JUnit5는 3개의 모듈로 나눠져있다.
dependencies {
testImplementation('org.junit.jupiter:junit-jupiter:5.6.0')
}
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));
}
}
junit4까지의 import org.junit. * 와 달리 org.junit.jupiter.api. * 를 호출해 사용할 수 있다.
의존성DI를 주입하는 방법으로는
1. 생성자 방법
2. setter 메서드 방법
3. 필드 주입 방법
4. 일반 메서드 주입 방법
junit5부터는 단위테스트를 작성할때 반드시 의존성 주입을 @Autowired (자동 주입)생성해야한다.