我需要模拟一个类,它有一个返回javax. ws. rs. core. Response的方法。这个类在这个方法调用之后有一个.readEntity(String.class)。我按如下方式设置响应:
when(methodCall).thenReturn(Response.status(Response.Status.OK).entity(someEntity).build());
现在当这个Response被使用response.readEntity(String.class)读取时;它会抛出一个错误:
java.lang.非法状态异常:出站消息不支持此方法。
如何在thenReturn中设置Response,以便返回readEntity()方法可读的入站消息。
另外,我不能在主类中进行更改,只能在测试类中进行更改。我使用的是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);
1条答案
按热度按时间2skhul331#
首先,你必须确定回应是嘲弄:
那么我建议你用这样的方式来嘲笑
readEntity
: