ABOUT ME

-

Today
-
Yesterday
-
Total
-
  • 커스텀 태그
    테스트/Junit5 2021. 2. 2. 16:22

    JUnit5 애노테이션을 조합하여 사용자가 커스텀 태그를 만드는 것이 가능하다.

    커스텀 애노테이션을 만들때 Junit5 애노테이션을 이용해 기능을 사용할 수 있는데, 이때 Junit5 어노테이션을 메타애노테이션이라 한다.

     

    이제 실습해보자.

     

    이 글이 이해가 안된다면

    2021/02/02 - [테스트/Junit5] - 태깅과 필터링<< 반드시 읽고 다시오자


    예제코드1. 커스텀 애노태이션 만들기

    package com.example.junittest;
    
    import java.lang.annotation.ElementType;
    import java.lang.annotation.Retention;
    import java.lang.annotation.RetentionPolicy;
    import java.lang.annotation.Target;
    import org.junit.jupiter.api.*;
    
    @Target(ElementType.METHOD) // 메서드에 적용한다는 자바애노테이션
    @Retention(RetentionPolicy.RUNTIME) //실행시간까지 유지한다는 자바애노테이션
    @Test //Junit5의 애노테이션 -> FastTest 애노테이션에서 이 애노테이션은 메타애노테이션
    @Tag("fast") //Junit5의 애노테이션 -> FastTest 애노테이션에서 이 애노테이션은 메타애노테이션
    public @interface FastTest {
    }
    
    package com.example.junittest;
    
    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 //Junit5의 애노테이션 -> FastTest 애노테이션에서 이 애노테이션은 메타애노테이션
    @Tag("slow") //Junit5의 애노테이션 -> FastTest 애노테이션에서 이 애노테이션은 메타애노테이션
    public @interface slowTest {
    }
    

    태깅을 위한 커스텀애노테이션을 만든 예제코드이다 이 애노테이션을 적용해보자.


    예제코드2. 커스텀 애노테이션 적용하기

    @DisplayName("스터디 클레스")
    class StudyTest {
    
        @Test
        @DisplayName("스터디 만들기☺️")
        @FastTest
        void create_new_study_test() {
            String test_env = System.getenv("TEST_ENV"); //환경변수를 받환
            System.out.println(test_env);
        }
    
        @Test
        @slowTest
        @Tag("slow") //원격환경에서
         void create_again_study_test(){
            System.out.println("다른 테스트 ");
        }
    }

    tag이름이 fast인 테스트그룹만 설정하기.

     

    '테스트 > Junit5' 카테고리의 다른 글

    테스트 반복하기2 @ParameterizedTest이용한 추가 방법  (0) 2021.02.02
    테스트 반복하기  (0) 2021.02.02
    태깅과 필터링  (0) 2021.02.02
    조건에 따라 테스트 실행하기  (0) 2021.02.02
    Assertion API  (0) 2021.01.28
Designed by Tistory.