【问题标题】:How to mock response.readEnity(String.class), passing mock Response object如何模拟 response.readEnity(String.class),传递模拟 Response 对象
【发布时间】:2020-01-14 18:59:54
【问题描述】:

我想将有效负载的响应模拟为一个简单的字符串。 下面的代码在我的测试中:

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

以上都不起作用。 感谢您的帮助!

【问题讨论】:

    标签: rest mocking mockito junit5


    【解决方案1】:

    我发现问题在于使用深度存根。在我的情况下没有必要。

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

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2017-04-07
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2018-05-13
      相关资源
      最近更新 更多