JUnit Jupiter annotations can be used as meta-annotations. That means that you can define your own composed annotation that will automatically inherit the semantics of its meta-annotations.
SpeedTest.java
package com.sample.app;
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.Tag;
import org.junit.jupiter.api.Test;
@Target(ElementType.METHOD)
@Retention(RetentionPolicy.RUNTIME)
@Tag("fast")
@Tag("quick")
@Test
public @interface SpeedTest {
}
Since meta annotations carry semantics, you can use SpeedTest annotation to run the test cases.
MetaAnnotationDemo.java
package com.sample.app;
import static org.junit.jupiter.api.Assertions.assertTrue;
public class MetaAnnotationDemo {
@SpeedTest
public void speedTest1() {
assertTrue(true);
}
}
No comments:
Post a Comment