Spring   发布时间:2022-04-09  发布网站:大佬教程  code.js-code.com
大佬教程收集整理的这篇文章主要介绍了Spring Mockito测试注射大佬教程大佬觉得挺不错的,现在分享给大家,也给大家做个参考。

我的问题与Injecting Mockito mocks into a Spring bean中提出的问题非常相似.事实上,我认为那里接受的答案可能对我有用.但是,我有一个问题的答案,然后进一步解释,如果答案实际上没有我的答案.

所以我按照上述帖子中的链接访问了Springockito网站.我@L_801_5@了我的test-config.xml以包含类似于以下内容内容

http://www.springframework.org/scheR_739_11845@a/beans" xmlns:xsi="http://www.w3.org/2001/XMLscheR_739_11845@a-instance" xmlns:mockito="http://www.mockito.org/spring/mockito" xsi:scheR_739_11845@a@R_618_5352@n="http://www.springframework.org/scheR_739_11845@a/beans http://www.springframework.org/scheR_739_11845@a/beans/spring-beans-3.0.xsd
    http://www.mockito.org/spring/mockito http://www.mockito.org/spring/mockito.xsd">

...

    

目前www.mockito.org重定向似乎有问题,所以我在https://bitbucket.org/kubek2k/springockito/raw/16143b32095b/src/main/resources/spring/mockito.xsd找到了XSD代码,并将xsi:scheR_739_11845@a@R_618_5352@n中的最终条目更改为指向此bitbucket链接.

运行mvn测试然后产生以下错误(为了可读性添加了换行符):

Caused by: org.springframework.beans.factory.xml.XmlBeanDeFinitionStoreException:
    Line 43 in XML document from class path resource [spring/test-context.xml] is invalid;
    nested exception is org.xml.sax.SAXParseException; linenumber: 43; columnnumber: 91;
    The prefix "mockito" for element "mockito:mock" is not bound.

所以关于Springockito的问题是:是否有可能包括这个?我错过了什么?

现在,进一步解释……

我有一个接口,其实现我正在尝试测试:

public interface Mobileservice {
    public Login login(Login login);
    public User getUser(String accessCode,Date birthDatE);
}

该实现包含一个Spring @Autowires为我提供的DAO:

@service
public class MobileserviceImpl implements Mobileservice {
    private MobileDao mobileDao;

    @Autowired
    public void setMobileDao(MobileDao mobileDao) {
        this.mobileDao = mobileDao;
    }
}

我不想改变我的接口以包含setMobileDao方法,因为这只是为了支持我的单元测试而添加代码.我试图模仿DAO,因为这里的实际SUT是serviceImpl.我怎样才能做到这一点?

最佳答案
您不想测试您的界面:它根本不包含任何代码.您想测试您的实现.所以可以使用setter.只需使用它:

@Test
public void testLogin() {
    MobileserviceImpl toTest = new MobileserviceImpl();
    toTest.setMobileDao(mockR_739_11845@obileDao);
    // TODO call the login method and check that it works as expected.
}

不需要弹簧环境.只需实例化您的POJO服务,手动注入模拟依赖项,并测试您要测试的方法.

大佬总结

以上是大佬教程为你收集整理的Spring Mockito测试注射全部内容,希望文章能够帮你解决Spring Mockito测试注射所遇到的程序开发问题。

如果觉得大佬教程网站内容还不错,欢迎将大佬教程推荐给程序员好友。

本图文内容来源于网友网络收集整理提供,作为学习参考使用,版权属于原作者。
如您有任何意见或建议可联系处理。小编QQ:384754419,请注明来意。