我一直在尝试捕获某些类型,但找不到干净的解决方案。我知道了:
@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;