12월 23, 2023

[JUnit5] 테스트코드 단축기, @DisplayName 테스트 이름 표시하는 방법

 JUnit은 Java의 단위 테스트 Framework이다. 

하나의 jar 파일로 관리되고 있어서 java에서 사용하기에도 매우 편리하다. 


Intellij에서 JUnit을 사용해서 Test Method를 작성하기 위해서는 

Windows 기반 : alt + insert 를 누르고

Mac 기반: command + N을 누르면 

아래와 같이 Generate 아래 Test Method가 뜬다. 


위 Test Method를 클릭하면 


@Test라는 annotation을 단 Test method가 생성이 된다. 


여기서 해당 단위 테스트의 이름을 표시하기 위해서는 

@DisplayName이라는 annotation을 추가로 활용할 수 있다. 

@DisplayName은 한글, 이모지, 공백 등 테스트케이스 이름을 제약 없이 자유롭게 설정할 수 있다. 즉 내가 해당 테스트 메서드를 작성하면서 이 테스트의 의도가 있었을 텐데 그 의도를 @DisplayName에 적어주면서 코드의 가독성을 높일 수 있는 것이다. 


@DisplayName("ID에 영문, 특수문자, 대문자가 모두 포함되면 ID validation이 통과한다")
@Test

이런 식으로 작성하고 method를 작성하면서 그 테스트 케이스의 의도, 또는 부연설명을 자연스럽게 적을 수 있다. 


@DisplayName("ID에 영문, 특수문자, 대문자가 없으면 ID validation이 통과하지 않는다")
@Test

반면 위와 같이 작성하여 요구사항을 충족하지 않을 경우의 테스트 케이스도 작성할 수 있다. 

이렇게 하고 Test를 Run하면 이렇게 @DisplayName에 작성한 설명이 뜨면서 

어떤 TestCase가 통과했는지 손쉽게 확인할 수 있다.