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

为什么我的嘲笑对responseEntity Exchange不起作用?

邓兴为
2023-03-14

在groovy中,我试图使用以下方法来模拟请求的返回,但每当代码调用时,我总是得到一个空指针异常:

ResponseEntity<AnimalVO> result = restTemplate.exchange(url, HttpMethod.GET, new HttpEntity<>(headerUtil.headers()), AnimalVO.class);

测试中:

  when(restTemplate.exchange(anyString(), any(HttpMethod.class, any(HttpEntity.class, any(ValueObject.class) as Class)).thenReturn(responseEntityMocked)

我使用的是Mockito3.12,我的测试只是以空指针异常而失败,我的restTemplate交换(在调试时)返回一个空值。我做错什么了吗?

如果它有助于Rest寺庙交换有以下定义:

    exchange(String url, HttpMethod method, HttpEntity<?> requestEntity, Class<T> responseType, Object... uriVariables)

对给定的URI模板执行HTTP方法,将给定的请求实体写入请求,并以ResponseEntity的形式返回响应。

共有1个答案

房冥夜
2023-03-14
when(restTemplate.exchange(anyString(), any(HttpMethod.class), 
   any(HttpEntity.class), eq(AnimalVO.class)).thenReturn(responseEntityMocked)
 类似资料:
  • 我也是Mockito和PowerMockito的新手。我发现我无法使用纯Mockito测试静态方法,因此我需要使用PowerMockito(对吗?)。 我有一个非常简单的类,名为Validate,使用这个非常简单的方法 因此,我需要验证: 1) 当我在null message参数上调用该静态方法时,将调用IllegalArgumentException。2)当我在null object参数上调用该

  • 我正在探索用于集成测试的空手道API double(模拟)。对于下面的场景,我没有得到预期的嘲笑响应。谢谢你的帮助。 我的设置: 1.空手道模拟服务器与路径匹配规则端口8001:http://localhost:8001(工作,针对/cat和一些测试调用进行验证)2。我自己的应用程序是从docker端口8080。从Docker暴露8001端口以及。 模拟案例:1。我的应用程序REST调用向所有用户

  • 问题内容: 我在这里有点困惑。如果我将变量传递给json_decode,它将不起作用: 第一个回显正确显示了我传递的JSON字符串,例如 第二个回显显示NULL。因此,我从第一个回显中获取了字符串,并编写了以下代码: 你怎么说,它向我展示了正确解码的数组。字符串绝对相同,我什至保留转义字符。也许是问题所在? 问题答案: 看起来您的服务器已启用。无论是将其禁用或运行通过使用它之前。

  • Stage.close()对我不起作用。 我查看了:JavaFX2.0:关闭一个舞台(窗口) 这是我的代码: 下面是调用消息框类的代码:

  • 我正在尝试检测我的两个精灵何时发生碰撞。我做的第一件事是在我的播放器周围创建一个矩形(称为player.img),然后在我想检测的树周围创建另一个矩形(称为背景.treesrect)。我将玩家矩形的坐标设置为等于当用户按下键移动时更新的坐标,但玩家矩形不移动。然后我使用精灵.碰撞(精灵)函数来检测它们是否碰撞并且没有检测到。有人可以向我展示为什么我的播放器矩形没有更新以及其他任何可能错误的内容吗?

  • 由于各种原因,我的单元测试环境无法访问启动ignite所需的环境。我不需要ignite来启动测试,我希望代码忽略对ignite的调用。开始()。我该怎么做? 我尝试过模拟点火,但当我尝试模拟start()方法时,它会抛出一个错误。 这会导致以下错误: 组织。莫基托。例外情况。误用。MissingMethodInvocationException:when()需要的参数必须是“模拟的方法调用”。例如