JUnit5 기본 테스트 - @Test, @DisplayName, @Disabled

JUnit5 기본 테스트 @Test에 대한 설명, @DisplayName 사용법, @Disabled 사용법

실패, 성공 테스트

간단히 실패, 성공하는 테스트 케이스를 만들어 보겠다.

package com.devkuma.junit5.basic;

import org.junit.jupiter.api.Assertions;
import org.junit.jupiter.api.Test;

public class SuccessFailTest {

    @Test
    void success() {
        Assertions.assertEquals(3, 3);
    }

    @Test
    void fail() {
        Assertions.assertEquals(3, 2);
    }
}

실행 결과:

O success()
X fail()
  • @Test 어노테이션이 지정된 메소드가 테스트 메소드이다.
  • JUnit4까지의 org.junit.Test 이었으나, JUnit5에서는 org.junit.jupiter.api.Test를 사용한다.

테스트 이름 표시하기 @DisplayName

Junit5의 @DisplayName를 사용하면 아래와 같이 메소드명을 한글로 작성하는 것이 아니라,

@Test
public void 게시글저장() {
     // ... 중간 생략 ...
}
...

아래처럼 표기 할 수 있게 된다.

@Test
@DisplayName("게시글 저장")
public void savePost() {
     // ... 중간 생략 ...
}

테스트 무력화

@Disabled 어노테이션을 사용하면 테스트 메소드를 실행을 하지 않게 할 수 있다.

package com.devkuma.junit5.basic;

import org.junit.jupiter.api.Disabled;
import org.junit.jupiter.api.Test;

public class DisabledTest {
    @Test
    void test1() {
        System.out.println("test1()");
    }

    @Test
    @Disabled
    void test2() {
        System.out.println("test2()");
    }
}

실행 결과:

test1()

@Disabled는 메소드뿐 아니라 클래스에 지정하는 것도 가능한데, 그럴 경우에는 테스트 클래스내의 모든 테스트 메소드가 실행되지 않게 된다.




최종 수정 : 2022-12-09