Junit5 애노테이션을 조합하여 커스텀 태그를 만들 수 있다.
@Target(ElementType.METHOD) // 메서드에 사용이 가능하다.
@Retention(RetentionPolicy.RUNTIME) // 애노테이션 정보를 런타임 까지 유지되도록
@Tag("local") // 태그가 local 환경이다.
@Test
public @interface custom {
}
- 커스텀태그를 위와 같이 생성하였다.
- 위처럼 태그생성 후 테스트 코드 메서드에 이 애노테이션을 사용할 수 있다.
@custom // @Test , Tag("local") 어노테이션 생략가능
@DisplayName("커스텀 태그")
void custom_tag_ex() {
Lunch lunch = new Lunch();
assertTrue(lunch.getLunch("test").equals("Complete"));
}
- 위처럼 사용시에 크게 두 가지 장점이 있다.
1. 타입 세이프하게 오타를 줄일 수 있다. @Tag 어노테이션 생성시 태그명을 문자열로 넣어주는데 이때 오타가 발생할 수 있지만 커스텀 태그 사용시 동일한 태그를 사용한다고 보장할 수 있다.
2. 특정 애노테이션을 생략할 수 있다. Test, Tag등 테스트 메서드를 생성할 때마다 필수적으로 사용해 줘야하는 어노테이션을 생략할 수 있다.
'Language > Java(TestCode)' 카테고리의 다른 글
[TestCode] @TransInstance 테스트 인스턴스 (JUnit5) (0) | 2022.08.27 |
---|---|
[TestCode] @RepeatedTest, @ParameterizedTest 테스트 반복하기 (JUnit5) (0) | 2022.08.26 |
[TestCode] @Tag 태깅과 필터링 (JUnit5) (0) | 2022.08.24 |
[TestCode] assume 조건에 따라 테스트 실행 (JUnit5) (0) | 2022.08.22 |
[TestCode] assertion 기대값, 참 거짓 확인 (JUnit5) (0) | 2022.08.21 |