-
JUnit 5. TagBackEnd/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