您好, 欢迎来到 !    登录 | 注册 | | 设为首页 | 收藏本站

为什么组件扫描对Spring Boot单元测试不起作用?

为什么组件扫描对Spring Boot单元测试不起作用?

您应该使用@SpringBootTest(classes=FooServiceImpl.class)

正如在注释类型SpringBootTest上提到的:

公共抽象类[]类

带注释的类,用于加载ApplicationContext。也可以使用@ContextConfiguration(classes = …)指定。如果未定义显式类,则测试将查找嵌套的@Configuration类,然后再返回SpringBootConfiguration搜索

返回:用于加载应用程序上下文的带批注的类另请参见:ContextConfiguration.classes()

认值:{}

这将仅加载必要的类。如果未指定,则可能会加载数据库配置和其他内容,从而使测试速度变慢。

另一方面,如果您真的想进行单元测试,则可以在不使用Spring的情况下测试此代码- 然后@RunWith(SpringRunner.class)@SpringBootTest就不需要注释了。您可以测试FooServiceImpl实例。如果您具有Autowired/injected属性或服务,则可以通过setter,构造函数Mockito模拟进行设置

Java 2022/1/1 18:22:44 有583人围观

撰写回答


你尚未登录,登录后可以

和开发者交流问题的细节

关注并接收问题和回答的更新提醒

参与内容的编辑和改进,让解决方法与时俱进

请先登录

推荐问题


联系我
置顶