본문 바로가기
스프링/JUnit

[JUnit] JUnit5 테스트 이름 표시하기

by 책 읽는 개발자_테드 2020. 12. 14.
반응형

이 글은 인프런 - 더 자바, 애플리케이션을 테스트하는 다양한 방법 강의를 학습하며 정리한 내용입니다.

www.inflearn.com/course/the-java-application-test

 

( intellij에서 JUnit5의 설정이 완료되었다는 가정하에 글을 작성합니다. )

(때문에 JUnit5 사용방법을 모르시는 분들은 다음글을 참고해 주세요.  scshim.tistory.com/175 )

JUnit5 테스트 이름 표시하기

 

JUnit을 사용하여 테스트를 실행하면 테스트한 메소드 이름을 출력됩니다. 예를 들어 아래와 같은 테스트 코드가 있다고 가정합니다.

class StudyTest {

        @Test
        void create_new_study_fast() {
                System.out.println("스터디 만들기 fast");
        }

        @Test
        void create_new_study_slow() {
                System.out.println("스터디 만들기 slow");
        }
}

 

위 테스트의 결과로 아래와 같이 테스트 메서드 이름이 출력됩니다.

 

이렇게 출력되는 테스트 메소드 이름이 너무 길어지거나, 가독성이 떨어진다고 느껴질 수 있습니다.  그래서 JUnit에는 테스트 메소드 이름을 원하는 방식으로 변경하여 출력하는 방법이 존재합니다. 지금부터 해당 방법에 대해서 알아보겠습니다.

 

@DisplayNameGeneration

@DisplayNameGeneration 애너테이션은 클래스 이름 위에서 테스트 이름을 표시하는 전략을 설정하면, 일괄적으로  테스트 메소드 이름을 변경하여 출력합니다.

 

아래는 메소드 이름의 언더스코어(_)를 제거하여 출력하는 전략을 테스트에 적용한 코드입니다.

@DisplayNameGeneration(DisplayNameGenerator.ReplaceUnderscores.class)
class StudyTest {

        @Test
        void create_new_study_fast() {
                System.out.println("스터디 만들기 fast");
        }

        @Test
        void create_new_study_slow() {
                System.out.println("스터디 만들기 slow");
        }
}

결과

 

@DisplayName

@DisplayName 애너테이션은 메소드 이름 위에서 직접 테스트 이름을 설정하는 방법입니다. 

class StudyTest {

        @Test
        @DisplayName("테스트 빨리 만들기")
        void create_new_study_fast() {
                System.out.println("스터디 만들기 fast");
        }

        @Test
        @DisplayName("테스트 느리게 만들기")
        void create_new_study_slow() {
                System.out.println("스터디 만들기 slow");
        }
}

결과

 

다들 즐거운 단위 테스트하세요 :)

반응형

댓글