我在模拟com.sun.sun.jersey.api.client.clientresponse上遇到了一些问题
我被泽西 - 客户1.18。
这是正在测试的代码:
ClientResponse clientResponse = client.resource(url)
.accept("application/json")
.entity(multiPart)
.type(MediaType.MULTIPART_FORM_DATA_TYPE)
.post(ClientResponse.class);
这是测试的模拟:
when(clientResponse.getEntity(String.class)).thenReturn(body);
when(builder.post(eq(ClientResponse.class))).thenReturn(clientResponse);
when(builder.type(MediaType.MULTIPART_FORM_DATA_TYPE)).thenReturn(builder);
when(webResource.accept(anyString())).thenReturn(builder);
when(client.resource(anyString())).thenReturn(webResource);;
我收到的错误是该行测试的代码中的NullPoInterException:
.type(MediaType.MULTIPART_FORM_DATA_TYPE)
有人知道如何模拟客户端。resource()。类型()?
如果我了解您在做什么,您嘲笑了一个建筑商。
您没有涉及webResource.accept()
返回的builder.entity()
拨打CC_1的模拟,因此它返回null
,链中的下一个呼叫失败(builder.type()
)。
add:
when(builder.entity(anyString())).thenReturn(builder);
(提供的multiPart
是String
)