자바 개발자가 가장 많이 사용하는 테스팅 프레임워크.
“단위 테스트를 작성하는 자바 개발자 93% JUnit을 사용함.”
자바 8 이상을 필요로 함.
대체제 : TestNG, Spock, ...
<aside> 🤪 JUnit 5는 2017년 10월에 공개가 되었습니다. 여태까지는 JUnit 4를 많이 사용했는데, 스프링부트가 버전을 2.2로 올리면서 JUnit 버전을 4에서 5로 올렸습니다.
</aside>
JUnit 4는 하나의 jar 파일로 들어오고 (dependency로 들어오고) JUnit이 참조하는 다른 라이브러리들이 있는 형태였는데 JUnit 5부터는 JUnit 5 그 자체로 여러 모듈화가 되어있습니다.

셋 다 JUnit 5의 세부 모듈이라고 생각하면 됩니다.
테스트를 실행해주는 런처 제공.
런처를 통해서 콘솔에서도 JUnit 테스트를 실행할 수도 있고 main 메소드 안에서 테스트를 실행할 수도 있습니다. 또한 인텔리제이나 이클립스 같은 툴에서도 실행할 수 있습니다.
package hello.javatest.first;
import org.junit.jupiter.api.Test;
import static org.junit.jupiter.api.Assertions.*;
class AppTest {
@Test
public void create() {
App app = new App();
assertNotNull(app);
}
}
원래 자바에서는 main 메소드가 아니면 실행이 안되지만, 인텔리제이가 JUnit Platform 을 사용해서 인스턴스(AppTest 클래스)에 들어있는 @Test 가 붙어있는 메소드를 실행해줍니다.

TestEngine API 제공.