반응형
Notice
Recent Posts
Recent Comments
Link
| 일 | 월 | 화 | 수 | 목 | 금 | 토 |
|---|---|---|---|---|---|---|
| 1 | 2 | 3 | ||||
| 4 | 5 | 6 | 7 | 8 | 9 | 10 |
| 11 | 12 | 13 | 14 | 15 | 16 | 17 |
| 18 | 19 | 20 | 21 | 22 | 23 | 24 |
| 25 | 26 | 27 | 28 | 29 | 30 | 31 |
Tags
- 배열
- 문자열
- vscode
- 자바문법
- list
- javascript
- HashMap
- html
- ArrayList
- Array
- junit
- input
- Eclipse
- string
- junit5
- Visual Studio Code
- 이클립스
- json
- IntelliJ
- Java
- java테스트
- 인텔리제이
- 단위테스트
- 테스트자동화
- CSS
- 자바
- js
- 자바스크립트
- 정규식
- math
Archives
- Today
- Total
어제 오늘 내일
[JUnit5] TestInfo.getDisplayName() 사용 가이드 본문
1. TestInfo란 무엇인가
TestInfo는 JUnit5에서 테스트 실행 중 테스트 이름, 디스플레이 네임, 태그 등 메타데이터를 제공하는 객체이다.
각 테스트 메서드에 파라미터로 주입할 수 있으며, 테스트 문서화·로그 출력·조건 처리 등에 활용하기 좋다.
이 중 getDisplayName()은 테스트의 표시용 이름(Display Name) 을 가져오는 메서드로, @DisplayName과 함께 사용하면 테스트 가독성을 크게 높일 수 있다.
2. getDisplayName() 기본 사용 예제
import org.junit.jupiter.api.DisplayName;
import org.junit.jupiter.api.Test;
import org.junit.jupiter.api.TestInfo;
class DisplayNameTest {
@Test
@DisplayName("사용자 등록 성공 시 메시지 반환")
void testUserRegister(TestInfo testInfo) {
System.out.println("실행 중인 테스트 이름: " + testInfo.getDisplayName());
// 실제 테스트 코드
}
}
설명
- testInfo.getDisplayName()은 @DisplayName에 설정된 값을 반환한다.
- @DisplayName이 없을 경우 메서드 이름이 자동으로 반환된다.
출력 예:
실행 중인 테스트 이름: 사용자 등록 성공 시 메시지 반환
3. @DisplayName이 없을 때 getDisplayName() 값 확인
@Test
void defaultDisplayName(TestInfo testInfo) {
System.out.println(testInfo.getDisplayName());
}
설명
- @DisplayName을 지정하지 않았다면 기본적으로 메서드 이름이 그대로 출력된다.
예: defaultDisplayName(TestInfo)
4. getDisplayName()을 활용한 테스트 로그 포맷팅
테스트 실행 중 어떤 테스트가 어디까지 수행되었는지 명확히 로깅할 수 있다.
@Test
@DisplayName("주문 생성 로직 테스트")
void logTestName(TestInfo testInfo) {
String name = testInfo.getDisplayName();
System.out.println("[START] " + name);
// 테스트 수행
// ...
System.out.println("[END] " + name);
}
활용 포인트
- 테스트 진행 순서 확인
- CI 환경에서 테스트 가독성 향상
- 실패 시 어떤 테스트인지 로그로 빠르게 파악 가능
5. getDisplayName()을 테스트 반복(Repetition)과 함께 사용하기
반복 테스트에서는 RepetitionInfo와 함께 사용할 때 특히 유용하다.
import org.junit.jupiter.api.RepeatedTest;
import org.junit.jupiter.api.RepetitionInfo;
class RepeatTest {
@RepeatedTest(3)
@DisplayName("반복 테스트 예제")
void repeated(TestInfo testInfo, RepetitionInfo repetitionInfo) {
System.out.println(
testInfo.getDisplayName() + " - " + repetitionInfo.getCurrentRepetition()
);
}
}
설명
- 반복될 때마다 동일한 디스플레이 네임을 기반으로 반복 번호를 함께 출력할 수 있다.
- 테스트 보고서 확인이나 로그 분석에 유리하다.
6. getDisplayName() 사용 시 유용한 패턴 정리
- 테스트 이름을 기반으로 조건 분기
- 테스트 실행 시작·종료 로깅
- 테스트 문서화 용도로 활용
- @DisplayName과 조합하여 더 직관적인 테스트 흐름 작성
특히 팀 단위 테스트 환경에서는 테스트 이름으로 로깅을 통일해두면 디버깅이 훨씬 쉬워진다.
반응형
'IT > JUnit' 카테고리의 다른 글
| [JUnit5] TestInfo.getTestClass()로 테스트 클래스 정보 얻기 (0) | 2026.01.21 |
|---|---|
| [JUnit5] TestInfo.getTags()로 태그 메타데이터 조회하기 (0) | 2026.01.20 |
| [JUnit5] assumingThat()으로 부분 조건부 테스트 처리 (0) | 2026.01.19 |
| [JUnit5] assumeFalse()로 조건 불만족 시 테스트 실행하기 (0) | 2026.01.19 |
| [JUnit5] assumeTrue()로 조건 만족 시 테스트 실행하기 (1) | 2026.01.18 |
Comments
