Мета-аннотации
Использование Java-аннотации вместо Java перечисления .
Вы можете определить собственную аннотацию для переноса JUnit @Tag
аннотаций.Таким образом, вам нужно написать строку значения вашего тега только один раз, а затем применить эту пользовательскую аннотацию ко всем наборам тестов.
Мета-аннотации проверяются компилятором для обеспечения правильных значений, как вы просили в своем Вопросе.
См. Руководство по мета-аннотациям .И посмотрите этот слайд в видео на YouTube о выступлении Марка Филиппа .
Пример
Объявите свой собственный тип аннотации .
@Target({ ElementType.TYPE , ElementType.METHOD })
@Retention( RetentionPolicy.RUNTIME )
@Tag( "fast" )
@Test
public @interface FastTest {}
Позже, когда вы будете писать свои тесты, аннотируйте свою новую аннотацию @FastTest
,
Вместо того чтобы писать это:
@Tag( "fast" )
@Test
void someTest() { … }
… пишите это:
@FastTest
void someTest() { … }