ABOUT ME

-

Today
-
Yesterday
-
Total
-
  • JUnit 5
    BackEnd/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

    댓글

Designed by Tistory.