ABOUT ME

-

Today
-
Yesterday
-
Total
-
  • JUnit 5. Tag
    BackEnd/JUnit 2022. 1. 31. 12:25
    반응형

      Tag는 테스트 그룹을 만들고 원하는 테스트 그룹만 실행할 수 있습니다. @Tag 애노테이션을 사용하며 테스트 메소드에 추가하여 사용합니다. 하나의 테스트 메소드에 여러 태그를 사용할 수 있습니다.

    package com.java.JUnit5;
    
    import org.junit.jupiter.api.Tag;
    import org.junit.jupiter.api.Test;
    
    public class TagTests {
    
        @Test
        @Tag("local")
        void tagLocalTest() {
            System.out.println("local");
        }
    
        @Test
        @Tag("testci")
        void tagTestCiTest() {
            System.out.println("testci");
        }
    }

     

      IntelliJ에서 특정 태그로 필터링하여 실행할 수 있습니다. Run Configurations에서 Test kind를 Tags로 설정하고 Tag expression에 태그명을 기입합니다.

     

    Custom Tag

      JUnit 5 애노테이션을 조합하여 커스텀 태그를 만들 수 있습니다. @Test와 @Tag("local")이 붙은 CustomTag 애노테이션을 생성합니다.

    package com.java.JUnit5;
    
    import org.junit.jupiter.api.Tag;
    import org.junit.jupiter.api.Test;
    
    import java.lang.annotation.ElementType;
    import java.lang.annotation.Retention;
    import java.lang.annotation.RetentionPolicy;
    import java.lang.annotation.Target;
    
    @Target(ElementType.METHOD)
    @Retention(RetentionPolicy.RUNTIME)
    @Test
    @Tag("local")
    public @interface CustomTag {
    }

      @CustomTag가 붙은 customTagTest() 메소드는 기존 tagLocalTest() 메소드와 동일하게 동작합니다. 즉, local 태그로 필터링하여 실행할 경우 tagLocalTest() 메소드와 customTagTest() 메소드만 실행됩니다.

    package com.java.JUnit5;
    
    import org.junit.jupiter.api.Tag;
    import org.junit.jupiter.api.Test;
    
    public class TagTests {
    
        @Test
        @Tag("local")
        void tagLocalTest() {
            System.out.println("local");
        }
    
        @Test
        @Tag("testci")
        void tagTestCiTest() {
            System.out.println("testci");
        }
    
        @CustomTag
        void customTagTest() {
            System.out.println("custom tag");
        }
    }

    [전체 소스코드]

    반응형

    'BackEnd > JUnit' 카테고리의 다른 글

    JUnit 5. 테스트 인스턴스  (0) 2022.02.03
    JUnit 5. 반복문  (0) 2022.02.03
    JUnit 5. 조건문  (0) 2022.01.31
    JUnit 5. Assertion  (0) 2022.01.30
    JUnit 5  (0) 2022.01.30

    댓글

Designed by Tistory.