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

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

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

您应该使用

@SpringBootTest(classes=FooServiceImpl.class)

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

公共抽象类[]类

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

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

默认值:{}

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

另一方面,如果您真的想进行单元测试,则可以在不使用Spring的情况下测试此代码-
然后

@RunWith(SpringRunner.class)
@SpringBootTest
就不需要注释了。您可以测试
FooServiceImpl
实例。如果您具有
Autowired
/
injected属性或服务,则可以通过setter,构造函数或Mockito模拟进行设置。



欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/zaji/5641471.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-12-16
下一篇 2022-12-16

发表评论

登录后才能评论

评论列表(0条)

保存