Java 嘲弄泽西客户

Java 嘲弄泽西客户,java,mockito,junit4,jersey-2.0,jersey-client,Java,Mockito,Junit4,Jersey 2.0,Jersey Client,我试图模仿Jeresy webservice的呼叫。我已经删除了WebService.Resource get()方法。我得到了Clienthandler例外。看起来它调用的是实方法而不是存根。我在方法存根的方式上遗漏了什么吗 当(webResourceBuilderMock.get(ClientResponse.class)),然后返回(clientResponseMock) 例外情况: 嵌入异常:包装异常类->类com.sun.jersey.api.client.ClientHandlerE

我试图模仿Jeresy webservice的呼叫。我已经删除了WebService.Resource get()方法。我得到了Clienthandler例外。看起来它调用的是实方法而不是存根。我在方法存根的方式上遗漏了什么吗

当(webResourceBuilderMock.get(ClientResponse.class)),然后返回(clientResponseMock)

例外情况: 嵌入异常:包装异常类->类com.sun.jersey.api.client.ClientHandlerException com.sun.jersey.api.client.clienthandler异常:javax.net.ssl.SSLHandshakeException:sun.security.validator.validator异常: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.WebServiceClient.TestWebServiceClient(WebServiceClient.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.runReflectVeCall(FrameworkMethod.java:50) 位于org.junit.internal.runners.model.ReflectiveCallable.run(ReflectiveCallable.java:12) 位于org.junit.runners.model.FrameworkMethod.invokeeexplosive(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 );