인프런의 "더 자바, 애플리케이션을 테스트하는 다양한 방법”을 보고 정리한 것임

1. @Tag

  • 테스트 클래스, 메소드에 테스트 구분을 태깅하기 위해 사용

소스

    @DisplayName("스터디 만들기 fast")
    @Tag("fast")
    @Test
    void testTaging() {
        Study study = new Study(1);

        assertAll(
                () -> assertNotNull(study),
                () -> assertEquals(StudyStatus.DRAFT, study.getStatus(),
                        () -> "스터디를 처음 만들면 상태값이 " + StudyStatus.DRAFT + "이어야 한다."),
                () -> assertTrue(study.getLimit() > 0, "스터디 최대 참석 가능 인원은 0보다 커야한다.")
        );
    }

    @DisplayName("스터디 만들기 slow")
    @Tag("slow")
    @Test
    void testTaging2() {
        Study study = new Study(1);

        assertAll(
                () -> assertNotNull(study),
                () -> assertEquals(StudyStatus.DRAFT, study.getStatus(),
                        () -> "스터디를 처음 만들면 상태값이 " + StudyStatus.DRAFT + "이어야 한다."),
                () -> assertTrue(study.getLimit() > 0, "스터디 최대 참석 가능 인원은 0보다 커야한다.")
        );
    }

실행

  • 원하는 @Tag만 테스트할려면 별도 설정 필요
  • Edit Configurations 클릭
  • 노란 영역부분 Tags로 변경 및 실행할 태그명 입력

2. 커스텀 태그

  • JUnit 5 애노테이션을 조합하여 커스텀 태그를 만들 수 있다.

커스텀 Annotation 작성

@Target(ElementType.METHOD)
@Retention(RetentionPolicy.RUNTIME)
@Test
@Tag("fast")
public @interface FastTest {
}
profile
고우고우~

0개의 댓글

Powered by GraphCDN, the GraphQL CDN