SpringBoot中为什么有的不加@RunWith(SpringRunner.class)也能正常注入?
来源:13-6 service的迁移
SuperAIStar
2021-08-05
这个AreaService当时没加@RunWith(SpringRunner.class)就不能注入areaService Bean
而这个wechatAuthService只有@SpringBootTest也能正常注入
请问老师这是为什么呢?
写回答
1回答
-
同学好,
在正常情况下测试类是需要@RunWith的,作用是告诉java这个类通过用什么运行环境运行,例如启动和创建spring的应用上下文。否则需要为此在启动时写一堆的环境配置代码。在IDEA里去掉@RunWith仍然能跑是因为在IDEA里识别为一个JUNIT的运行环境,相当于就是一个自识别的RUNWITH环境配置。但在其他IDE里并没有。
022021-08-05
相似问题