상식닷컴
로그인
가입하기
2026년 상식닷컴 선정 식당 & 카페 리스트
2025년 2026년 신상 호텔 리스트
최근에 오픈한 호텔을 찾는다면 살펴보세요
일주일 식단표 어플
자동 일주일 식단표 어플
안드로이드
아이폰
주식 & 코인 차트의 신
1000만원으로 2000만원 만들기 프로젝트
궁금한 상식 보기
태국식 스프의 맛을 더하는 비법은?
뉴욕의 기업 세금은 어떻게 계산되나요?
뉴욕에서 세금 신고를 위한 세금 관련 통계는 어디서 확인하나요?
뉴욕에서 세금 신고를 위한 세금 관련 자원봉사 기회는 어디에 있나요?
창업자가 알아야 할 글로벌 시장 진출 전략은 무엇인가요?
주식 패턴을 활용한 매매 전략의 지속 가능성은 어떻게 평가하나요?
엔도르핀과 신체적 운동의 중요성은 무엇인가요?
스피커의 주파수 대역폭이 넓을수록 좋은가요?
스피커의 소리 왜곡을 줄이기 위한 기술은 무엇인가요?
서핑의 기본 자세는 어떻게 되나요?
우버의 고객 서비스에 어떻게 연락하나요?
기화가 일어나는 동안의 열전달 메커니즘은 무엇인가요?
Previous
Next
수정하기 - JUnit에서 테스트 그룹을 구성하는 방법은?
닉네임
비밀번호
제목
내용
[이미지 업로드는 권한이 있는 사람만 가능. 하단 카톡으로 연락]
JUnit에서 테스트 그룹을 구성하는 방법에 대해 설명하겠습니다. JUnit은 버전에 따라 테스트 그룹을 구성하는 방식이 다소 차이가 있는데, 크게 JUnit 4와 JUnit 5(Jupiter)에서의 방식을 중심으로 설명합니다. JUnit 4에서 테스트 그룹 구성하기 JUnit 4에서는 테스트 그룹을 구성하기 위해 주로 `@Category` 애노테이션을 사용합니다. `@Category`는 테스트 메소드나 테스트 클래스에 특정 카테고리(그룹)를 지정할 수 있게 해줍니다. 1. 카테고리 인터페이스 정의 테스트 그룹을 정의하려면 우선 마커 인터페이스(marker interface)를 만듭니다. 이 인터페이스들은 실제로 아무 메소드도 가지지 않고, 단지 테스트 그룹을 식별하는 역할을 합니다. ```java public interface FastTests { } public interface SlowTests { } ``` 2. 테스트에 카테고리 지정 테스트 클래스나 테스트 메소드에 `@Category` 애노테이션을 붙여서 그룹을 지정합니다. ```java import org.junit.Test; import org.junit.experimental.categories.Category; public class MyTests { @Test @Category(FastTests.class) public void fastTest() { // 빠른 테스트 코드 } @Test @Category(SlowTests.class) public void slowTest() { // 느린 테스트 코드 } } ``` 3. <a href='https://sangseek.com/sangseeks/그룹별/ko'>그룹별</a>로 테스트 실행하기 `Categories` 러너를 이용해서 특정 그룹만 실행하거나 제외할 수 있습니다. ```java import org.junit.runner.RunWith; import org.junit.experimental.categories.Categories; import org.junit.runners.Suite.SuiteClasses; @RunWith(Categories.class) @Categories.IncludeCategory(FastTests.class) // 포함할 그룹 @SuiteClasses({ MyTests.class }) // 테스트 클래스 목록 public class FastTestSuite { } ``` 위와 같이 하면 `FastTests` 그룹으로 지정된 테스트만 실행됩니다. 반대로 `@Categories.ExcludeCategory`를 사용할 수 있으며, 여러 그룹을 동시에 지정 가능하고, 그룹간 AND/OR 조건으로 필터링도 가능합니다. --- JUnit 5에서 테스트 그룹 구성하기 JUnit 5(Jupiter)에서는 테스트 그룹을 좀 더 유연하고 풍부하게 관리할 수 있으며, `@Tag` 애노테이션을 이용해서 그룹을 만들고 관리합니다. 1. 태그 지정하기 `@Tag` 애노테이션을 테스트 클래스나 테스트 메소드에 붙입니다. ```java import org.junit.jupiter.api.Tag; import org.junit.jupiter.api.Test; public class MyTests { @Test @Tag("fast") void fastTest() { // 빠른 테스트 } @Test @Tag("slow") void slowTest() { // 느린 테스트 } } ``` 2. 태그를 이용해 테스트 실행 제어 태그별 테스트를 실행하거나 제외하려면 빌드 도구(예: Maven, Gradle) 설정을 이용하거나 IDE 설정에서 태그 필터를 설정합니다. - Maven 예: ```xml <configuration> <groups>fast</groups> <!-- fast 태그가 붙은 테스트만 실행 --> </configuration> ``` - Gradle 예: ```groovy test { useJUnitPlatform { includeTags 'fast' // excludeTags 'slow' } } ``` 3. 명령어로 실행 커맨드 라인에서 직접 태그로 필터링해서 실행할 수도 있습니다. ``` mvn test -Dgroups=fast ``` 4. 조합 사용 가능 JUnit 5의 태그는 복수 지정도 가능하고, 여러 조건(포함, 제외)을 조합해서 유연한 테스트 그룹 관리가 가능합니다. --- 참고 사항 - JUnit 4와 5는 그룹 개념 자체는 유사하지만 애노테이션 이름과 실행 방식이 다릅니다. - JUnit 5는 기본적으로 더 최신이고 기능이 확장돼 있어서 보통 새로운 프로젝트에서는 JUnit 5를 권장합니다. - 태그나 카테고리를 정의할 때 가능한 한 명확하고 의미 있는 이름으로 관리하는 것이 유지보수에 좋습니다. --- 요약 - JUnit 4 : `@Category` + 마커 인터페이스 + `Categories` 러너를 통해 테스트 그룹 구성 및 실행. - JUnit 5 : `@Tag` 애노테이션으로 그룹 표시, 빌드 도구 또는 IDE에서 태그 필터링하여 실행. 이런 방식으로 JUnit에서 테스트 그룹을 구성 및 관리할 수 있습니다.
이용안내
커뮤니티 이용안내
×
- 게시한 게시글로 발생하는 문제는 게시자에게 책임이 있습니다.
- 게시글이 타인/타업체의 저작권을 침해할 경우 모든 책임은 게시자에게 있습니다. 게시자가 모든 손해를 부담해야 합니다.
- 상식닷컴 운영자는 게시자와 상의하지 않고 게시글을 수정 또는 삭제할 수 있습니다.
- 상식닷컴 운영자는 깨끗한 커뮤니티 공간을 만드는 것이 1순위입니다.
수정하기
취소하기