JUnit 5
| 注解 |
说明 |
| @Test |
表示方法是测试方法。与JUnit 4的@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 |
表示应在当前类中的所有@Test、@RepeatedTest、@ParameterizedTest和@TestFactory方法之前执行带注释的方法;类似于JUnit 4的@BeforeClass。 |
| @AfterAll |
表示在当前类中,所有@Test、@RepeatedTest、@ParameterizedTest和@TestFactory方法都应该执行注释的方法;类似于JUnit 4的@AfterClass。 |
| @Nested |
表示带注释的类是一个嵌套的、非静态的测试类。@BeforeAll和@AfterAll方法不能直接在 @Nested 测试类中使用,除非使用“每个类”测试实例生命周期。 |
| @Tag |
用于在类或方法级别声明过滤测试的标记;类似于TestNG中的测试组或JUnit 4中的类别。 |
| @Disabled |
用于禁用测试类或测试方法;类似于JUnit 4的@Ignore。 |
| @ExtendWith |
用于注册自定义扩展。 |
Mockito
| 注解 |
说明 |
| @Mock |
用于创建并自动注入mock对象。通常与@RunWith(MockitoJUnitRunner.class)或@ExtendWith(MockitoExtension.class)一起使用。 |
| @InjectMocks |
用于创建一个实例,其所需的依赖项(使用@Mock或@Spy注解的字段)将被Mockito自动注入。 |
| @Spy |
用于创建一个spy对象。可以用来包装一个真实的对象。每个方法调用都会被委托给这个对象,但仍可以对其行为进行存根(stub)或验证。 |
| @Captor |
用于创建一个ArgumentCaptor的实例,主要用于捕获方法调用的参数值,便于后续的断言或验证。 |
| @RunWith |
JUnit4特定的注解,用于指定一个测试运行器。当使用Mockito时,通常与MockitoJUnitRunner.class一起使用来初始化标注了@Mock的字段。 |
| @ExtendWith |
JUnit Jupiter (JUnit 5)特定的注解,用于扩展测试类的行为。当使用Mockito时,通常与MockitoExtension.class一起使用。 |
| @MockitoSettings |
用于配置Mockito的行为,例如启用严格存根(strict stubs)模式。只在JUnit Jupiter中使用。 |
| @BDDMockito |
提供了一种基于行为驱动开发(BDD)风格的API来使用Mockito,但它不是一个注解,而是一个提供静态方法的类。 |
BlessingCR’s Blog
单元测试-基本注解JUnit 5 注解 说明 @Test 表示方法是测试方法。与JUnit 4的@Test注释不同,这个注释不声明任何属性,因为JUnit Jupiter中的测试扩展基于它们自己的专用注释进行操作。 @Paramete…
2024-02-26
回复 PirojokFLEMN 取消回复