-
JUnit 5BackEnd/JUnit 2022. 1. 30. 16:01반응형
Junit이란 자바 개발자가 가장 많이 사용하는 테스팅 프레임워크입니다. Spring Boot 2.2부터 JUnit 5 Jupiter가 적용되었습니다.
JUnit 5 = JUnit Platform + JUnit Jupiter + JUnit Vintage
- JUnit Platform: 테스트를 실행해주는 런처를 제공합니다. (TestEngine API 제공)
- JUnit Jupiter: TestEngine API 구현체로 JUnit 5를 제공합니다.
- JUnit Vintage: JUnit4와 3를 지원하는 TestEngine 구현체입니다.
의존성 추가
Spring Boot 2.2 버전 이상의 프로젝트를 생성한다면 기본적으로 JUnit 5 의존성이 추가됩니다. 스프링 부트 프로젝트를 사용하지 않을 경우 아래 의존성을 추가해줍니다.
<dependency> <groupId>org.junit.jupiter</groupId> <artifactId>junit-jupiter-engine</artifactId> <version>5.5.2</version> <scope>test</scope> </dependency>
기본 애노테이션
- @Test: 테스트 메소드임을 나타냅니다.
- @BeforeAll: 모든 테스트가 수행되기 전 한 번 실행됩니다.
- @AfterAll: 모든 테스트가 수행된 이후 한 번 실행됩니다.
- @BeforeEach: 각각의 테스트가 실행되기 전 실행됩니다.
- @AfterEach: 각각의 테스트가 수행된 이후 실행됩니다.
- @Disabled: 테스트 실행을 하지 않습니다.
- @DisplayNameGeneration: 메소드와 클래스 레퍼런스를 사용해서 테스트 이름을 표기하는 방법을 설정합니다. (기본 구현체: ReplaceUnderscores 제공)
- @DisplayName: 테스트 이름을 보다 쉽게 표현할 수 있는 방법을 제공하는 애노테이션입니다. @DisplayNameGeneration보다 우선 순위가 높습니다.
package com.java.JUnit5; import org.junit.jupiter.api.*; import org.springframework.boot.test.context.SpringBootTest; @SpringBootTest @DisplayNameGeneration(DisplayNameGenerator.ReplaceUnderscores.class) // "_" 를 공백으로 변경합니다. class JUnit5Tests { @Test void contextLoads() { System.out.println("contextLoads"); } @Test @DisplayName("테스트 이름") void next_step() { System.out.println("next step"); } @Test @Disabled void disabled() { System.out.println("테스트 실행을 하지 않습니다."); } @BeforeAll static void beforeAll() { System.out.println("BeforeAll"); } @AfterAll static void afterAll() { System.out.println("AfterAll"); } @BeforeEach void beforeEach() { System.out.println("BeforeEach"); } @AfterEach void afterEach() { System.out.println("AfterEach"); } }
반응형'BackEnd > JUnit' 카테고리의 다른 글
JUnit 5. 테스트 인스턴스 (0) 2022.02.03 JUnit 5. 반복문 (0) 2022.02.03 JUnit 5. Tag (0) 2022.01.31 JUnit 5. 조건문 (0) 2022.01.31 JUnit 5. Assertion (0) 2022.01.30