@Test
表示方法是测试方法。与junit4的@Test注释不同,这个注释不声明任何属性,因为junitjupiter中的测试扩展基于它们自己的专用注释进行操作。除非重写这些方法,否则它们将被继承。
@ParameterizedTest
表示方法是参数化测试。除非重写这些方法,否则它们将被继承。
@RepeatedTest
表示方法是重复测试的测试模板。除非重写这些方法,否则它们将被继承。
@TestFactory
表示方法是动态测试的测试工厂。除非重写这些方法,否则它们将被继承。
@TestTemplate
表示方法是测试用例的模板,根据注册提供者返回的调用上下文的数量,设计为多次调用。除非重写这些方法,否则它们将被继承。
@TestMethodOrder
用于为带注释的测试类配置测试方法执行顺序;类似于JUnit4的@FixMethodOrder。这样的注释是继承的。
@TestInstance
用于为带注释的测试类配置测试实例生命周期。这样的注释是继承的。
@DisplayName
声明测试类或测试方法的自定义显示名称。这样的注释不会被继承。
@DisplayNameGeneration
声明测试类的自定义显示名称生成器。这样的注释是继承的。
@BeforeEach
表示在当前类中的每个@Test、@RepeatedTest、@parameteredtest或@TestFactory方法之前应执行带注释的方法;类似于JUnit4的@之前。除非重写这些方法,否则它们将被继承。
@AfterEach
表示在当前类中的每个@Test、@RepeatedTest、@parameteredtest或@TestFactory方法之后都应执行带注释的方法;类似于JUnit4的@After。除非重写这些方法,否则它们将被继承。
@BeforeAll
表示带注释的方法应在当前类中的所有@Test、@RepeatedTest、@parameteredtest和@TestFactory方法之前执行;类似于JUnit4的@BeforeClass。这些方法是继承的(除非它们被隐藏或重写),并且必须是静态的(除非使用“每类”测试实例生命周期)。
@AfterAll
表示在当前类中的所有@Test、@RepeatedTest、@parameteredtest和@TestFactory方法之后应该执行带注释的方法;类似于JUnit4的@AfterClass。这些方法是继承的(除非它们被隐藏或重写),并且必须是静态的(除非使用“每类”测试实例生命周期)。
@Nested
表示带注释的类是非静态嵌套测试类@BeforeAll和@AfterAll方法不能直接在@Nested测试类中使用,除非使用“每类”测试实例生命周期。这样的注释不会被继承。
@Tag
用于在类或方法级别声明用于过滤测试的标记;类似于TestNG中的测试组或junit4中的Categories。这样的注释是在类级别继承的,而不是在方法级别继承的。
@Disabled
用于禁用测试类或测试方法;类似于junit4的@Ignore。这样的注释不会被继承。
@Timeout
用于在测试、测试工厂、测试模板或生命周期方法的执行超过给定的持续时间时使其失败。这样的注释是继承的。
@ExtendWith
用于以声明方式注册扩展。这样的注释是继承的。
@RegisterExtension
用于通过字段以编程方式注册扩展。除非有阴影,否则这些字段将被继承。
@TempDir
在生命周期方法或测试方法中,通过字段注入或参数注入提供临时目录;位于org.junit.jupiter.api.io包中。