栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 面试经验 > 面试问答

当使用@Mock时,将Null值注入到Spring bean中吗?

面试问答 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

当使用@Mock时,将Null值注入到Spring bean中吗?

对我而言,您从引用的博客源中获取的Spring和Mockito的组合如何才能完全按预期工作,目前尚不清楚。至少我可以解释你的观察:

您的测试

(this.mockMvc.perform())
正在使用Spring创建的Web应用程序上下文。在这种情况下ProductController,由
Spring(context:component-scan)
实例化。在productService随后与您创建的模拟的Mockito自动连接
mvc-dispatcher-servlet.xml的someDependencyMock

如果注入
mockproductServicevia @Autowired,SpringsomeDependencyMock
将从其上下文注入实例。因此,您的Mockito.when()呼叫可以在此实例上正常工作,该实例已
ProductController
如前所述正确连接到。
但是,如果注入
mockproductServicevia @Mock
,则Mockito会注入的新实例
ProductService
,而不是Spring上下文的实例,因为它完全不了解Spring。因此,您的
Mockito.when()
呼叫无法在由Spring自动连线的模拟上进行操作,从而
someDependencyMock
保持未初始化状态。
因此,关于该博客的原始代码是如何工作的,我仍然不清楚:


  • productController
    带注释的属性
    @InjectMocks
    将由
    Mockito
    初始化,甚至正确地连接到
    mockproductService
    测试类中的。但是Spring对这个对象一无所知,并且不会在
    this.mockMvc.perform()
    调用中使用它。因此,我假设即使删除测试类中的属性和调用,您是否
    mockproductService
    @Autowired
    按预期进行测试即可。
    productControllerMockitoAnnotations.initMocks()


转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/393552.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号