当前位置: 首页 > 知识库问答 >
问题:

Mockito模仿反应类和readEntity法阅读

巫马安怡
2023-03-14

我需要模拟一个类,该类具有返回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()方法可读的入站消息?

附言:我不能在主类中进行更改,只能在测试类中进行更改。我使用java 1.8与junit4.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个答案

东郭骁
2023-03-14

首先,您必须确保响应是模拟的:

java prettyprint-override">Response response = Mockito.mock(Response.class)

那么我建议你这样嘲弄< code>readEntity:

Mockito.doReturn(Response.status(Response.Status.OK).entity(someEntity).build())
       .when(response)
       .readEntity(String.class);
 类似资料:
  • 我不知道我的代码出了什么问题,我的静态方法都不能被 Mockito 嘲笑...... 我检查了几个小时,似乎我的代码没有任何错误。 下面是依赖性: 下面是静态方法: 下面是测试类: 运行测试后,我得到了这个异常:

  • 我试图用Mockito 1.9.5模拟一个类,但是我很难让它工作。 我写了我的测试样板: ...并得到一个长的< code>ClassCastException: 线程“main”java.lang.ClassCastException中的异常:org.mockito.internal.creation.jmock.ClassImposterizer$ClassWithSuperclassToWo

  • 我一直在试图理解嘲笑是如何工作的。我读过各种回应,似乎有一个相互矛盾的论点,Mockito是否在内部使用反射。 这里,它清楚地说明了mockito不使用反射:https://stackoverflow.com/questions/15970810/using-mockito-to-mock-methods-by-reflection#:~:text=mockito%20is%20a%20realt

  • 我在一次测试中试图使用一个模拟类,但出现了以下错误: 在pom中: (也试用了3.0.0版) 车辆等级: 测试类:

  • 通过阅读《HCE开发者指南》,这里的《HCE开发者指南》似乎可以将android手机用作阅读器。我把卡片信息放在NFC标签上,然后用手机读。我想让手机充当阅读器。你知道这是否可行吗?我创建了一个示例项目,其中包含以下代码行: 我不知道下一步该去哪里。