Chuck1sn 在 登录认证在 Spring Boot 上的标准单元测试的写法,看一眼就会怀孕。 中发帖
不要使用 @SpringBootTest
使用 @SpringBootTest 进行单元测试会启动整个 Spring Boot 容器,并引入整个项目的 development&test 依赖。缺点是速度慢、体积大、测试目标不明确、低内聚高耦合。
明确我们要测试的目标是登录功能,所以只要启动 Spring Mvc 的依赖范围就可以了,其他层面的依赖可以用「打桩」来解决。
使用 @WebMvcTest
所以只需要隔离启动 Spring Mvc 环境,即可完成登录功能的测试了。
@WebMvcTest(value = {SignController.class})
@Import({HttpFireWallConfig.class})
class SignMvcTest {
@MockBean private SignService signService;
@MockBean...