Mocking Rest Exchange for Void API



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

restTemplate.exchange(url, HttpMethod.PUT, new HttpEntity<User>(user), void.class);

这是JUNIT的

    Mockito.when(restTemplate.exchange(Matchers.any(), Matchers.eq(HttpMethod.PUT), Matchers.any(HttpEntity.class), Matchers.eq(Void.class))).thenReturn(new ResponseEntity<>(HttpStatus.ACCEPTED));

但问题是当我调试代码时. 即使我从模拟中抛出异常,它也总是返回 NULL。

不确定我在这里做错了什么

这是因为类

Voidvoid.class不同:

Class<?> c1 = void.class;
Class<?> c2 = Void.class;
System.out.println(c1.equals(c2));

打印false .

请尝试以下操作:

Mockito.when(restTemplate.exchange(Matchers.any(),
                                   Matchers.eq(HttpMethod.PUT),
                                   Matchers.any(HttpEntity.class),
                                   Matchers.eq(void.class)))
  .thenReturn(new ResponseEntity<>(HttpStatus.ACCEPTED));

相关内容

  • 没有找到相关文章

最新更新