테스트 그룹을 만들고 원하는 테스트 그룹만 테스트를 실행할 수 있는 기능입니다.
예를 들어 “모듈별로”, “단위테스트인지 통합테스트인지”, “오래걸리는지 금방 처리할 수 있는지” 그룹화를 할 수 있습니다.
//...1번 테스트
@Test
@DisplayName("스터디 만들기 fast")
void tag_1() {
Study study = new Study(10);
assertThat(study.getLimit()).isGreaterThan(0);
}
//...2번 테스트
@Test
@DisplayName("스터디 만들기 slow")
void tag_2() {
Study study = new Study(10);
assertThat(study.getLimit()).isGreaterThan(0);
}
1번 테스트는 로컬에서 실행해도 금방 결과를 볼 수 있는 테스트라고 치고,
2번 테스트는 실행하는데 오래걸려서 로컬에서 테스트하기는 어렵고 CI에서 빌드를 할 때 실행하도록 하고 싶은 테스트라고 할 때 @Tag 를 활용할 수 있습니다.
//...1번 테스트
@Test
@DisplayName("스터디 만들기 fast")
@Tag("fast") //...1
void tag_1() {
Study study = new Study(10);
assertThat(study.getLimit()).isGreaterThan(0);
}
//...2번 테스트
@Test
@DisplayName("스터디 만들기 slow")
@Tag("slow") //...1
void tag_2() {
Study study = new Study(10);
assertThat(study.getLimit()).isGreaterThan(0);
}
인텔리제이가 특정 태그만 실행할 수 있도록 지원해줍니다.

기본값은 Class로 되어있어서 실행을 하면 클래스 안에 있는 모든 테스트를 수행합니다.