[英]Mockito mocking a Response class and reading with readEntity method
我需要模拟一个具有返回 javax.ws.rs.core.Response 的方法的类。 该类在此方法调用之后使用 .readEntity(String.class)。 我将响应设置如下:
when(methodCall).thenReturn(Response.status(Response.Status.OK).entity(someEntity).build());
现在,当使用 response.readEntity(String.class); 读取此响应时; 它抛出一个错误:
java.lang.IllegalStateException :出站消息不支持方法。
如何在 thenReturn 中设置响应,以便返回 readEntity() 方法可读的入站消息。
PS我不能在主类中进行更改,只能在测试类中进行更改。 我使用 java 1.8 和 junit 4.12 和 mockito-all 1.9.5,mockito-inline 3.8.0
我正在嘲笑的班级:
Response response = client.target().request().header().post();
String entity = response.readEntity(String.class);
首先,您必须确保响应是模拟的:
Response response = Mockito.mock(Response.class)
那我建议你用这种方式模拟readEntity
:
Mockito.doReturn(Response.status(Response.Status.OK).entity(someEntity).build())
.when(response)
.readEntity(String.class);
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.