mockito 验证与 ArgumentCaptor 的交互
2022-09-01 10:46:02
要检查与模拟的交互次数,其中方法调用中的参数是某种类型的,可以执行以下操作
mock.someMethod(new FirstClass());
mock.someMethod(new OtherClass());
verify(mock, times(1)).someMethod(isA(FirstClass.class));
这将通过由于调用,因为被调用了两次,但只有一次使用参数 FirstClassisA
someMethod
但是,在使用 ArgumentCaptor 时,这种模式似乎是不可能的,即使 Captor 是为特定参数创建的。FirstClass
这不起作用
mock.someMethod(new FirstClass());
mock.someMethod(new OtherClass());
ArgumentCaptor<FirstClass> captor = ArgumentCaptor.forClass(FirstClass.class);
verify(mock, times(1)).someMethod(captor.capture());
它说模拟被叫了不止一次。
有没有办法在捕获参数以进行进一步检查的同时完成此验证?