먼저 의존성을 추가하지 않은 기본 Spring Boot 프로젝트를 생성한다.
(Java 11, Maven)
pom.xml
파일에 넣어주면된다.<dependency>
<groupId>org.junit.jupiter</groupId>
<artifactId>junit-jupiter-engine</artifactId>
<version>5.5.2</version>
<scope>test</scope>
</dependency>
테스트 파일을 임의로 하나 생성하고, JUnit에서 제공하는 기본 애노테이션을 활용하여 테스트를 작성한다.
IntelliJ(Mac) 기준 테스트를 생성하고자 하는 java 파일에서 cmd+shift+t 단축키를 이용할 수 있다
기본 애노테이션
@Test
- 테스트 내용을 담고 있는 함수에 붙여준다.
- 해당 애노테이션을 가진 함수들이 여러개 있는 테스트 클래스를 실행하면 실행 순서는 임의로 지정된다.
@BeforeAll / @AfterAll
- 시작 / 끝에 1번만 실행이 되는 함수에 붙여준다.
- static void로 작성해야한다.
(private은 사용 불가하고, return 타입이 있으면 안된다는 제한이 있다)
@BeforeEach / @AfterEach
- 각 테스트를 실행하기 전 / 후에 매번 실행이 되는 함수에 붙여준다.
@Disabled
- 무시하고 넘어가야 하는 함수에 붙여준다.
- 실무에서는 deprecated 된 함수이므로 현재 로직에 영향이 없지만, 아직 코드 정리가 완벽하게 안되었을 때 사용하는 애노테이션이다.
위 6개 애노테이션에 대한 예시 코드
class StudyTest {
@Test
void firsttest(){
System.out.println("create first");
}
@Test
void secondtest(){
System.out.println("create second");
}
@Test
@Disabled
void thirdtest(){
System.out.println("create third");
}
@BeforeAll
static void beforeall(){
System.out.println("before all");
}
@AfterAll
static void afterall(){
System.out.println("after all");
}
@BeforeEach
void beforeeach(){
System.out.println("before each");
}
@AfterEach
void aftereach(){
System.out.println("After each");
}
}
before all
before each
create first
After each
before each
create second
After each
after all