-
커스텀 태그테스트/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("다른 테스트 "); } }
'테스트 > 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