如何模拟 response.readEnity(String.class),传递模拟 Response 对象

How to mock response.readEnity(String.class), passing mock Response object

我想用一个简单的字符串模拟有效载荷的响应。 以下代码在我的测试中:

Response response = mock(Response.class, RETURNS_DEEP_STUBS);
when(mockRestClient.get("someMockUrl")).thenReturn(response);
when(response.readEntity(String.class)).thenReturn("XXXYYYZZZ");

也试过:

Response response  = Response.status(Status.OK).entity("XXXYYYZZZ").build();

MyCode 看起来像这样:

Response response = restClient.get(tokenUrl); // I was mocking this and getting mock response
String requestToken = response.readEntity(String.class); //failing at this line
以上的

None 有效。 感谢帮助!

我发现问题出在使用深层存根上。对我来说没有必要。

Response mockResponse = mock(Response.class);
when(mockResponse.readEntity(String.class)).thenReturn("XXXYYYZZZ");