模拟球衣客户

如何解决模拟球衣客户

我正在尝试模拟Jeresy网络服务调用。我已经将WebService.Resource get()方法存根了。我正在获取ClientHandlerException。看起来它在调用real方法而不是存根。我是否错过了方法的存根方式?

何时(webResourceBuilderMock.get(ClientResponse.class))。thenReturn(clientResponseMock);

例外: 嵌入的异常:包装的异常类-> com.sun.jersey.api.client.ClientHandlerException类 com.sun.jersey.api.client.ClientHandlerException:javax.net.ssl.SSLHandshakeException:sun.security.validator.ValidatorException:PKIX路径构建失败:sun.security.provider.certpath.SunCertPathBuilderException:无法找到有效的证书路径要求的目标 在com.sun.jersey.client.urlconnection.URLConnectionClientHandler.handle(URLConnectionClientHandler.java:155) 在com.sun.jersey.api.client.filter.LoggingFilter.handle(LoggingFilter.java:217) 在com.sun.jersey.api.client.Client.handle(Client.java:652) 在com.sun.jersey.api.client.WebResource.handle(WebResource.java:682) 在com.sun.jersey.api.client.WebResource.access $ 200(WebResource.java:74) 在com.sun.jersey.api.client.WebResource $ Builder.get(WebResource.java:509) 位于xxx.xx.xx.xx.xxx.xxxx.WebServiceClientImpl1.getCreditCardDetails(WebServiceClientImpl1.java:173) 位于xxx.xx.xx.xx.xxx.xxxx.WebServiceClientTest.testAWebServiceClient(WebServiceClientTest.java:121) 在sun.reflect.NativeMethodAccessorImpl.invoke0(本机方法)处 在sun.reflect.NativeMethodAccessorImpl.invoke(未知来源) 在sun.reflect.DelegatingMethodAccessorImpl.invoke(未知来源) 在java.lang.reflect.Method.invoke(未知来源) 在org.junit.runners.model.FrameworkMethod $ 1.runReflectiveCall(FrameworkMethod.java:50) 在org.junit.internal.runners.model.ReflectiveCallable.run(ReflectiveCallable.java:12) 在org.junit.runners.model.FrameworkMethod.invokeExplosively(FrameworkMethod.java:47) 在org.junit.internal.runners.statements.InvokeMethod.evaluate(InvokeMethod.jav

WebServiceClientImpl.java

            String wsURL = appendResorcePath("/xx/xx/xx/" + id + "/xxx");
            ObjectMapper objectMapper = new ObjectMapper();
            ClientConfig clientConfig = new DefaultClientConfig();
            clientConfig.getFeatures().put(JSONConfiguration.FEATURE_POJO_MAPPING,Boolean.TRUE);
            Client restClient = Client.create(clientConfig);
            WebResource webResource = restClient.resource(wsURL);
            restClient.addFilter(new com.sun.jersey.api.client.filter.LoggingFilter(printStream));
            WebResource.Builder webResourceBuilder = webResource.accept(MediaType.APPLICATION_JSON);
            webResourceBuilder = webResourceBuilder.header(Constants.AUTHORIZATION,Constants.BASIC + createAuthString()).type(MediaType.APPLICATION_JSON_TYPE);
            clientResp = webResourceBuilder.get(ClientResponse.class);
            
            

测试类代码

    WebResource webResourceMock = Mockito.mock(WebResource.class);
    WebResource.Builder webResourceBuilderMock = Mockito.mock(WebResource.Builder.class);
    ClientResponse clientResponseMock = Mockito.mock(ClientResponse.class);
    clientResponseMock.setStatus(200);
    ObjectMapper objectMapperMock = Mockito.mock(ObjectMapper.class);
    
    when(webResourceMock.accept(MediaType.APPLICATION_JSON)).thenReturn(webResourceBuilderMock);
    when(webResourceBuilderMock.header(ArgumentMatchers.anyString(),ArgumentMatchers.anyString())).thenReturn(webResourceBuilderMock);
    when(webResourceBuilderMock.get(ClientResponse.class)).thenReturn(clientResponseMock );
            

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。

相关推荐


Selenium Web驱动程序和Java。元素在(x,y)点处不可单击。其他元素将获得点击?
Python-如何使用点“。” 访问字典成员?
Java 字符串是不可变的。到底是什么意思?
Java中的“ final”关键字如何工作?(我仍然可以修改对象。)
“loop:”在Java代码中。这是什么,为什么要编译?
java.lang.ClassNotFoundException:sun.jdbc.odbc.JdbcOdbcDriver发生异常。为什么?
这是用Java进行XML解析的最佳库。
Java的PriorityQueue的内置迭代器不会以任何特定顺序遍历数据结构。为什么?
如何在Java中聆听按键时移动图像。
Java“Program to an interface”。这是什么意思?
Java在半透明框架/面板/组件上重新绘画。
Java“ Class.forName()”和“ Class.forName()。newInstance()”之间有什么区别?
在此环境中不提供编译器。也许是在JRE而不是JDK上运行?
Java用相同的方法在一个类中实现两个接口。哪种接口方法被覆盖?
Java 什么是Runtime.getRuntime()。totalMemory()和freeMemory()?
java.library.path中的java.lang.UnsatisfiedLinkError否*****。dll
JavaFX“位置是必需的。” 即使在同一包装中
Java 导入两个具有相同名称的类。怎么处理?
Java 是否应该在HttpServletResponse.getOutputStream()/。getWriter()上调用.close()?
Java RegEx元字符(。)和普通点?