모르지 않다는 것은 아는것과 다르다.

Junit

# Junit 5 기본 애노테이션

채마스 2022. 2. 27. 01:39

Junit 이란?

  • 자바 개발자가 가장 많이 사용하는 테스팅 프레임워크.
  • 단위 테스트를 작성하는 자바 개발자 93% JUnit을 사용함.

  • Platform: 테스트를 실행해주는 런처 제공. TestEngine API 제공.
  • Jupiter: TestEngine API 구현체로 JUnit 5를 제공.
  • Vintage: JUnit 4와 3을 지원하는 TestEngine 구현체.

 

Junit 5에서 제공하는 기본 애노테이션

    @BeforeEach
    public void beforeEach() {
        System.out.println("BeforeEach");
    }

    @BeforeAll
    static void beforeAll(){
        System.out.println("BeforeAll");
    }

    @AfterEach
    public void afterEach() {
        System.out.println("AfterEach");
    }

    @AfterAll
    static void afterAll() {
        System.out.println("AfterAll");
    }

    @Test
    public void test1() throws Exception{
        System.out.println("test1");
    }

    @Test
    public void test2() throws Exception{
        System.out.println("test2");
    }
  • 위의 코드의 결과 값은 아래와 같다.
  • BeforeAll BeforeEach test1 AfterEach BeforeEach test2 AfterEach AfterAll
  • @Test : 테스트를 한다는 의미
  • @BeforeAll
    • 각 테스트가 시작하기전에 한번씩 실행
    • static을 붙여야 한다.
  • @AfterAll
    • 각 테스트가 끝난 후에 한번씩 실행
    • static을 붙여야 한다.
  • @BeforeEach
    • 각 테스트가 시작하기 전에 실행
    • 공통적인 Param 및 설정을 할때 호출되면 좋다.
  • @AfterEach
    • 각 테스트가 끝난 후에 실행
    • 사용되고 난 후 종료되어야할 리소스를 처리하는 부분으로 사용되면 좋다.
  • @Disabled
    • 테스트를 실행하지 않음
  • @DisplayNameGeneration
    • Method와 Class 레퍼런스를 사용해서 테스트 이름을 표기하는 방법 설정.
    • 기본 구현체로 ReplaceUnderscores 제공 -> 언더바를 공백으로 바꿔줌
  • @DisplayName
    • 어떤 테스트인지 테스트 이름을 보다 쉽게 표현할 수 있는 방법을 제공하는 애노테이션.
    • @DisplayNameGeneration 보다 우선 순위가 높다.

 

 

REFERENCES

'Junit' 카테고리의 다른 글

Mockito  (0) 2022.02.27
Junit5 애노테이션 비교  (0) 2022.02.27
Controller 단위테스트  (0) 2022.02.27
Bad Request 처리하기  (0) 2022.02.27
Assertion  (0) 2022.02.27