【发布时间】:2020-03-02 08:04:40
【问题描述】:
如何在 spring boot 中为 controller、service 和 Dao 编写合适的测试用例使用 junit 5 并有明确的解释
【问题讨论】:
标签: spring-boot unit-testing junit5
如何在 spring boot 中为 controller、service 和 Dao 编写合适的测试用例使用 junit 5 并有明确的解释
【问题讨论】:
标签: spring-boot unit-testing junit5
Spring Boot 有一个测试切片的概念。这种类型的测试配置只会设置应用程序的一部分,从而进行测试:
@SpringBootTest 注解)。例如,@JsonTest slice 将以与生产环境相同的方式配置 ObjectMapper(以及一些 JSON 测试实用程序)。
无论如何,对于您提到的类型:
@DataJpaTest 切片 - 它将使用内存数据库配置 Hibernate 并加载所有实体和存储库。 @WebMvcTest(YourController.class) slice - 它只会加载 Spring MVC、advice 和你的控制器的配置。您将对deal with dependencies of that controller负责。这不会随着 junit 的第五个版本而改变。唯一的区别是您不再需要使用 @RunWith(SpringRunner.class) 注释您的测试。
【讨论】: