Mockito ArgumentCaptor:如何捕获类和对象

时间:2019-03-06 14:06:37

标签: java testing junit mockito

我一直在尝试捕获某些类型,但找不到干净的解决方案。我知道了:

@Captor
private ArgumentCaptor<T extends DTO> targetMapperCaptor;

我正在使用Captor针对使用2种参数的映射器;实例或闹剧。

正如声明的那样,仅捕获那些扩展了DTO的对象,用于捕获类:

@Captor
private ArgumentCaptor<Class> targetMapperCaptor;

举个例子,在实现中包含以下代码:

mock.map(MyObject.class);
mock.map(new MyObject());

并在测试中进行了测试

when(mock, times(2)).map(targetMapperCaptor.capture());

将始终抛出TooLittleActualInvocations(希望2但得到1)。如果删除times(2),则targetMapperCaptor.getAllValues()内部只有与类型匹配的值。

有什么方法可以声明ArgumentCaptor来捕获任何参数?

我也尝试失败:

private ArgumentCaptor<?> targetMapperCaptor;
private ArgumentCaptor targetMapperCaptor;

0 个答案:

没有答案