JUnit5在SpringBoot下进行功能测试常用的注释如下:
注释 | 作用 |
---|---|
@SpringBootTest | 测试启动SpringBoot环境,并自动配置容器内容。 |
@WebMvcTest | Web测试控制器时使用。只用于生成MockMvc对象;不加载其他Spring容器内容;不能与@SpringBootTest联用。 |
@AutoConfigureMockMvc | Web测试控制器时使用。用于在Spirng容器中自动注入MockMvc对象,与@SpringBootTest联用。 |
@BeforeAll | 测试类所有测试方法执行前,仅执行一次;注意是仅执行一次;相当于JUnit4的@BeforeClass |
@AfterAll | 测试类所有测试方法执行后,仅执行一次;注意是仅执行一次;相当于JUnit4的@AfterClass |
@BeforeEach | 测试类每执行一次测试方法之前执行一次;相当于JUnit4的@Before |
@AfterEach | 测试类每执行一次测试方法之后执行一次;相当于JUnit4的@After |
@Test | 测试方法 |
@TestInstance | 标注在测试类上,用于设置测试实例生命周期;默认每个Test方法创建一个实例;通过@TestInstance(TestInstance.Lifecycle.PER_CLASS)注释可设置实例生命周期为整个测试类,限制同类多测试方法的实例只有一个。 |
@Nested | 嵌套测试 |
@RepeatedTest | 与@Test用法相同;标注的测试方法可重复测试,默认10次 |
@ParameterizedTest | 与@Test用法相同;与@ValueSource等资源注释联用,用于参数化测试,@ValueSource等资源注释标注的值为参数来源 |
@TestFactory | 用于进行动态测试,测试编码过程相对复杂,暂时为细看。 |