| 일 | 월 | 화 | 수 | 목 | 금 | 토 |
|---|---|---|---|---|---|---|
| 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 |
- Eclipse
- string
- input
- HashMap
- vscode
- 테스트자동화
- 자바
- 단위테스트
- junit
- list
- 배열
- IntelliJ
- SpringBoot
- html
- Array
- Java
- Visual Studio Code
- javascript
- java테스트
- 자바문법
- 정규식
- junit5
- ArrayList
- 자바스크립트
- CSS
- 문자열
- math
- 스프링부트
- 인텔리제이
- js
- Today
- Total
목록IT/JUnit (50)
어제 오늘 내일
1. dynamicContainer()란 무엇인가dynamicContainer()는 JUnit5의 동적 테스트 기능 중 하나로, 여러 동적 테스트 또는 하위 컨테이너를 하나의 그룹으로 묶는 구조화 도구이다.dynamicTest()가 단일 테스트를 생성한다면, dynamicContainer()는 테스트 그룹(폴더 역할) 을 만들어 복잡한 테스트 세트를 계층적으로 구성할 수 있게 한다.특히 다음과 같은 경우에 유용하다.연관된 테스트들을 하나의 그룹으로 묶어 표현하고 싶을 때데이터 집합별 테스트 그룹을 만들고 싶을 때트리 구조의 테스트 리포트를 구성하고 싶을 때 2. 기본 사용 예제import org.junit.jupiter.api.DynamicContainer;import org.junit.jupiter.a..
1. dynamicTest()란 무엇인가dynamicTest()는 JUnit5의 동적 테스트(Dynamic Test) 기능을 생성하는 팩토리 메서드로, 실행 시점에 테스트를 구성할 수 있게 한다.정적 테스트(@Test)와 달리, 테스트 개수와 구성 요소가 코드 실행 중 동적으로 결정된다는 점이 가장 큰 특징이다.데이터 기반 테스트, 반복 패턴 테스트, 입력값 목록을 기반으로 한 자동 생성 테스트 등에 매우 적합하다. 2. 기본 사용 예제import org.junit.jupiter.api.DynamicTest;import org.junit.jupiter.api.TestFactory;import java.util.List;class DynamicTestBasicExample { @TestFactory ..
1. Map 기반 로그 기록이란?JUnit5의 TestReporter는 테스트 실행 중 키-값 형태의 구조적 로그를 기록할 수 있도록 지원한다. 그 중 Map 기반 로그 기록은 여러 필드를 하나의 엔트리로 묶어 한 번에 전달할 수 있어, 테스트 단계별 상세 로그를 남길 때 매우 유용하다.publishEntry(Map values) 메서드를 사용하면 복잡한 로그 데이터를 깔끔하고 일관된 구조로 리포트에 남길 수 있다. 2. 기본 사용 예제import org.junit.jupiter.api.Test;import org.junit.jupiter.api.TestReporter;import java.util.HashMap;import java.util.Map;class ReporterMapExample { ..
1. TestReporter란 무엇인가TestReporter는 JUnit5에서 테스트 실행 과정에서 키-값 형태의 로그 정보를 보고서(Test Report)에 기록할 수 있도록 제공되는 인터페이스이다.publishEntry() 메서드를 사용하면 테스트 실행 중 남긴 정보를 JUnit 플랫폼이 제공하는 출력 및 리포트 시스템에 안전하게 전달할 수 있다.일반 System.out.println()과 달리, 테스트 결과와 연계된 구조적 로그를 남길 수 있다는 점이 가장 큰 장점이다. 2. 기본 사용 예제import org.junit.jupiter.api.Test;import org.junit.jupiter.api.TestReporter;class ReporterBasicExample { @Test v..
1. getTestMethod()란 무엇인가TestInfo.getTestMethod()는 현재 실행 중인 테스트 메서드 정보를 Optional 형태로 제공하는 JUnit5의 메타데이터 API이다.이를 통해 테스트 코드 내에서 메서드 이름, 파라미터, 애노테이션 등을 직접 확인할 수 있어 로깅·조건 처리·리플렉션 기반 테스트 설정에 적극 활용할 수 있다.Optional 형태이므로 안전한 접근이 필요하며, TestInfo는 테스트 메서드, @BeforeEach, @AfterEach 등에도 주입 가능하다. 2. 기본 사용 예제import org.junit.jupiter.api.Test;import org.junit.jupiter.api.TestInfo;class TestMethodInfoExample { ..
1. getTestClass()란 무엇인가TestInfo.getTestClass()는 현재 실행 중인 테스트가 속해 있는 테스트 클래스 정보를 Optional> 형태로 제공하는 메서드다.테스트 이름이나 태그뿐 아니라, 테스트가 어떤 클래스에서 실행되고 있는지를 런타임에 파악할 수 있어 로깅, 공통 동작 처리, 리플렉션 기반 테스트 설정에 활용되기 좋다.Optional로 감싸져 있으므로 값이 없을 가능성도 처리해야 한다. 2. 기본 사용 예제import org.junit.jupiter.api.Test;import org.junit.jupiter.api.TestInfo;class TestClassInfoExample { @Test void testClassInfo(TestInfo testInfo)..
1. TestInfo.getTags()란 무엇인가TestInfo는 JUnit5에서 테스트 메타데이터(테스트 이름, 디스플레이 네임, 태그 등)를 제공하는 객체이며, 각 테스트 메서드에 파라미터로 주입할 수 있다.그중 getTags()는 테스트에 선언된 모든 태그(@Tag)를 Set 형태로 조회하는 메서드다.테스트 실행 중 현재 테스트가 어떤 분류에 속하는지 확인할 때 유용하다. 2. 기본 사용 예제import org.junit.jupiter.api.Tag;import org.junit.jupiter.api.Test;import org.junit.jupiter.api.TestInfo;class TagInfoTest { @Test @Tag("integration") @Tag("slow") ..
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 Dis..
1. assumingThat()이란 무엇인가assumingThat()은 JUnit5의 Assumptions 기능 중 하나로, 특정 조건이 참일 때만 일부 코드 블록을 실행하는 방식을 제공한다.assumeTrue()나 assumeFalse()처럼 테스트 전체를 스킵하는 것이 아니라, 테스트는 계속 실행되되 특정 부분만 조건부로 실행한다는 특징이 있다.환경에 따라 일부 검증 로직만 필요한 경우에 유용하며, 전체 테스트 흐름을 끊지 않고 조건 기반 로직을 자연스럽게 포함할 수 있다. 2. 기본 사용 예제import org.junit.jupiter.api.Test;import static org.junit.jupiter.api.Assumptions.*;import static org.junit.jupiter.a..
1. assumeFalse()assumeFalse()는 JUnit5의 Assumptions 기능 중 하나로, 특정 조건이 거짓일 때만 테스트를 실행하도록 제어하는 역할을 한다.조건이 참이라면 해당 테스트는 실패가 아닌 ‘Skipped(건너뛰기)’로 처리된다.환경에 따라 실행 여부가 달라지는 테스트를 작성할 때 특히 유용하다. 2. 기본 사용법 예제import org.junit.jupiter.api.Test;import static org.junit.jupiter.api.Assumptions.*;import static org.junit.jupiter.api.Assertions.*;class AssumptionFalseTest { @Test void testRunWhenNotDev() { ..