我正在使用 Mockito 编写代码测试。但是我被困在以下场景 - A 类有 2 个方法,method1() 和 method2()。我尝试使用 ArgumentCaptor 捕获发送到 method2() 的值。但是,由于我使用的是@Spy,所以我不能使用 Matchers。
如何测试 method1()?
class A{
B b;
method1(arg1, arg2){
//some logic
method2(arg1, arg2, ....argN);
}
method2(arg1, arg2,....argN){
//some logic
b.method3(arg1, arg2...);
}
}
如何验证 method2 接收相同的参数值?以下是我写的测试类:
Class TestA{
@Mock
B b;
@Spy
@InjectMocks //required else b is null
A a = new A();
@Test
public void testMethod1(){
a.method1(arg1, arg2);
//How to verify method2 receives same argument values (arg1, arg2)????
//verify(a, times(1)).method2(.......);
}
}