테스트 태깅?

테스트 그룹을 만들고 원하는 테스트 그룹만 테스트를 실행할 수 있는 기능입니다.

예를 들어 “모듈별로”, “단위테스트인지 통합테스트인지”, “오래걸리는지 금방 처리할 수 있는지” 그룹화를 할 수 있습니다.

@Tag

예시 코드

//...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);
}
  1. @Tag

인텔리제이에서 특정 태그로 필터링하는 방법

인텔리제이가 특정 태그만 실행할 수 있도록 지원해줍니다.

Untitled

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