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

对RestTemplate的模拟总是为空

袁亦
2023-03-14

我试图通过mockito模拟RestTem板方法,但它总是返回null. mockito代码:

Mockito.when(template.exchange(ArgumentMatchers.any(), ArgumentMatchers.any(),
                    ArgumentMatchers.<HttpEntity<?>>any(), Mockito.<Class<CountDto>>any()))
                    .thenReturn((ResponseEntity<CountDto>) responseEntity);

实际代码:

ResponseEntity<CountDto> responseEntity = template.exchange(envargs.get("CountURL"),
                                 HttpMethod.GET,getHttpEntity(accessToken), CountDto.class);

请让我知道代码中的问题。

共有1个答案

师承弼
2023-03-14

你可以试试下面的代码

ResponseEntity<CountDto>) responseEntity = new ResponseEntity<>(new CountDto(), HttpStatus.OK);

Mockito.when(template.exchange(Mockito.any(), Mockito.any(), Mockito.any(), Mockito.any()))
                .thenReturn(responseEntity);
 类似资料:
  • 我的要求是测试这段代码,更重要的是测试序列化器,因此,给出一个JSON片段,我如何测试所有的值都正确地通过商人的实例。 我不知道RestTemplate使用哪个序列化器将JSON序列化为对象。

  • 我试图模仿REST模板。通过mockito返回exchange方法,但无论我通过mock返回什么,它总是返回空值,即使我抛出异常: 这是实际代码: mockito代码: 在交换模拟中,每个参数都是ArgumentMatcher类型,mockLovList()返回一个LOV列表 它应该返回我嘲笑的任何东西,但它总是返回null

  • 它返回null,而不是预期的客户端,对象类的工作正常。我只想写测试。我是漏掉了什么还是做错了测试?谢谢你的指导。

  • 我试图测试一个简单POST Rest调用,但存在NullPointerException。 我的RestController: 我的单元测试: 由于以下错误,此测试失败:NullPointerException,确切地说,response ResponseEntity对象为Null。 verify输出将执行以下操作: 知道为什么响应是空的吗?我为测试使用了正确的注释,因此应该注入模拟。也许我在这里

  • 我现在在运行时看到.Intercept正在获得null对象值。 有人能建议我怎么修理吗。

  • 我的服务等级代码如下: 我的测试课程如下: 在运行测试时,我在给出Mockito的那一行得到了NullPointerException。何时返回条件。我尝试了很多组合,但它仍然提供NPE。我甚至连方法调用都做不到。你能告诉我哪里出了问题吗?