首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Mockito (Class.class)

Mockito (Class.class)
EN

Stack Overflow用户
提问于 2022-03-23 13:55:39
回答 1查看 142关注 0票数 0

我很难理解如何模拟接受类作为参数的方法。比如说。

代码语言:javascript
复制
restTemplate.exchange(someUrl, HttpMethod.GET, httpEntity, SomeEntityModel.class, code)

any(Class.class)或any(Class.class)的任何组合或什么都会生成一些新的错误消息。

从未被这样的用例绊倒过。

任何建议,如何模拟此方法,以便它将工作的任何Class.class。

任何对此方法进行模拟的建议,以使其适用于特定的Class.class

EN

回答 1

Stack Overflow用户

发布于 2022-03-24 14:52:12

您可以使用ArgumentCaptor

代码语言:javascript
复制
final ArgumentCaptor<Class<SomeEntityModel>> classArgumentCaptor = ArgumentCaptor.forClass(Class.class);
final ResponseEntity<SomeEntityModel> responseEntity = mock(ResponseEntity.class);

Mockito.when(restTemplate.exchange(eq(someUrl), eq(HttpMethod.GET), eq(httpEntity), classArgumentCaptor.capture(), eq(code))
    .thenReturn(responseEntity);

// TODO execute the code which will invoke the mock

Assertions.assertThat(classArgumentCaptor.getValue()).isEqualTo(SomeEntityModel.class);

这个想法是,您的模拟方法将被调用,并且您可以检查参数是否是预期的参数。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/71588441

复制
相关文章

相似问题

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