这里是有关Mockito的问题。对于以下代码,
public class ABC implements someInterface() {
public void test() {
someFunction(new A(), this);
}
}
someFunction
接受类A的实例和将someInterface
实现为参数的回调。使用powermock
模拟新实例创建时,我们可以使用
whenNew(A.class).withNoArguments().thenReturn(mMockClass);
然后我们可以得到模拟A类。
问题是我该如何模拟第二个参数?
答案 0 :(得分:0)
要处理第一个参数,可以使用https://github.com/mockito/mockito/wiki/Mocking-Object-Creation或any()
匹配器。
对于第二个参数,只需将要在测试方法中测试的类的引用传递给该类。例如,
...
ABC abc = new ABC();
Foo = Mockito.mock(Foo.class);
Foo.someFunction(Mockito.any(), abc);
abc.test();
...