java - 如何使用 Mockito 捕获发送到 stub 方法的方法参数

标签 java unit-testing mocking mockito

这是我的 stub 方法:

 Mockito.when(restTemplateMock.postForEntity(anyString(), any(), eq(String.class))).thenReturn(new ResponseEntity<String>(HttpStatus.OK));

如何获取发送到该方法的参数?上面的 postForEntity 方法有 3 个参数。

最佳答案

final ArgumentCaptor<String> arg1Captor = ArgumentCaptor.forClass(String.class);
final ArgumentCaptor<Object> arg2Captor = ArgumentCaptor.forClass(Object.class);
final ArgumentCaptor<Class<?>> arg3Captor = ArgumentCaptor.forClass(Class.class);

Mockito.verify(restTemplateMock).postForEntity(arg1Captor, arg2Captor, arg3Captor);

Assert.assertEquals("Whatever", arg1Captor.getValue());

关于java - 如何使用 Mockito 捕获发送到 stub 方法的方法参数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41110446/

相关文章:

java - Android - 迁移到 HoloEverywhere

java - 我无法弄清楚我的代码、队列和java中的某些部分

Java SnakeYaml - 防止转储引用名称

android - 如何使用 Mockito/PowerMockito 模拟 Kotlin 的对象?

python - Tornado ,带 mongmock 的电机进行测试

java - variable = null 是否将其设置为垃圾收集

javascript - 在 Controller 中进行单元测试 $http 解析

java - JUnit 断言失败是可怕的。可以做什么?

unit-testing - 如何使用 Angular 翻译进行单元测试

javascript - 如何使用 sinon.stub() 仅对某个调用进行 stub