注解
JUnit Jupiter支持下列注解,用于配置测试和扩展框架。
所有核心注解位于junit-jupiter-api
模块中的org.junit.jupiter.api
包中。
注解
描述
@Test
表示方法是测试方法。与JUnit4的@Test注解不同的是,这个注解没有声明任何属性,因为JUnit Jupiter中的测试扩展是基于他们自己的专用注解来操作的。除非被覆盖,否则这些方法可以继承。
@ParameterizedTest
@RepeatedTest
@TestFactory
@TestInstance
@TestTemplate
@DisplayName
声明测试类或测试方法的自定义显示名称。这个注解不被继承。
@BeforeEach
表示被注解的方法应在当前类的每个@Test,@RepeatedTest,@ParameterizedTest或@TestFactory方法之前执行; 类似于JUnit 4的@Before。 除非被覆盖,否则这些方法可以继承。
@AfterEach
表示被注解的方法应在当前类的每个@Test,@RepeatedTest,@ParameterizedTest或@TestFactory方法之后执行; 类似于JUnit 4的@After。 除非被覆盖,否则这些方法可以继承。
@BeforeAll
@AfterAll
@Nested
@Tag
在类或方法级别声明标签,用于过滤测试; 类似于TestNG中的test group或JUnit 4中的Categories。这个注释可以在类级别上继承,但不能在方法级别上继承。
@Disabled
用于禁用测试类或测试方法; 类似于JUnit4的@Ignore。这个注解不能继承。
@ExtendWith
使用@Test,@TestTemplate,@RepeatedTest,@BeforeAll,@AfterAll,@BeforeEach或@AfterEach注解的方法不能有返回值。
元注解和组合注解
JUnit Jupiter注解可以用作元注解。这意味着您可以定义自己的组合注释,它将自动继承其元注释的语义。
例如,您可以像下面那样创建一个名为@Fast
的自定义组合注释,而不必在整个代码库(请参阅标签和过滤)中复制和粘贴@Tag("fast")
。然后@Fast可以用作@Tag("fast")
的一个替代品。
Last updated