首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Mocking Rest Exchange for Void API

Mocking Rest Exchange for Void API
EN

Stack Overflow用户
提问于 2018-03-23 17:30:49
回答 1查看 251关注 0票数 0

我正在尝试模拟下面的rest调用

代码语言:javascript
复制
restTemplate.exchange(url, HttpMethod.PUT, new HttpEntity<User>(user), void.class);

这是JUNIT

代码语言:javascript
复制
    Mockito.when(restTemplate.exchange(Matchers.any(), Matchers.eq(HttpMethod.PUT), Matchers.any(HttpEntity.class), Matchers.eq(Void.class))).thenReturn(new ResponseEntity<>(HttpStatus.ACCEPTED));

但问题出在我调试代码的时候。即使我从mock抛出一个异常,它也总是返回NULL。

我不确定我到底做错了什么

EN

回答 1

Stack Overflow用户

发布于 2018-03-23 21:08:45

这是因为Voidvoid.class类是不同的:

代码语言:javascript
复制
Class<?> c1 = void.class;
Class<?> c2 = Void.class;
System.out.println(c1.equals(c2));

打印false

尝试以下操作:

代码语言:javascript
复制
Mockito.when(restTemplate.exchange(Matchers.any(),
                                   Matchers.eq(HttpMethod.PUT),
                                   Matchers.any(HttpEntity.class),
                                   Matchers.eq(void.class)))
  .thenReturn(new ResponseEntity<>(HttpStatus.ACCEPTED));
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/49446320

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档