JUnit은 Java 애플리케이션에서 단위 테스트를 작성하고 실행하기 위한 대표적인 테스트 프레임워크다.
프로그램의 개별 메서드나 컴포넌트가 정상적으로 동작하는지 자동으로 검증할 수 있게 해주며, 테스트 코드 기반의 개발을 가능하게 한다.
이 문서는 JUnit을 처음 접하는 사람도 테스트 코드 작성 → 실행 → 통합 테스트 구성까지 쉽게 따라갈 수 있도록 설명과 예시를 중심으로 정리했다.
어노테이션 | 설명 |
---|---|
@Test |
테스트할 메서드를 정의 |
@BeforeEach |
각 테스트 실행 전에 실행됨 (테스트 초기화 용도) |
@AfterEach |
각 테스트 실행 후에 실행됨 (정리 작업 용도) |
@BeforeAll |
테스트 클래스 전체 실행 전에 1회만 실행됨 (static 필요) |
@AfterAll |
테스트 클래스 전체 실행 후에 1회만 실행됨 (static 필요) |
@DisplayName |
테스트 이름을 지정해 가독성을 높임 |
@Nested |
내부 클래스를 활용해 테스트를 논리적으로 그룹화 가능 |
메서드 | 설명 |
---|---|
assertEquals(a, b) |
a와 b가 같은지 검증 |
assertTrue(condition) |
조건이 true인지 검증 |
assertThrows(Exception.class, () -> {...}) |
예외 발생 여부 검증 |
// build.gradle
dependencies {
testImplementation 'org.junit.jupiter:junit-jupiter:5.9.3'
}
src/test/java
아래에 생성~Test
또는 ~Tests
형식으로 작성src/test/java
└── com.example.service
└── UserServiceTest.java