这是一个关于 Mockito 的问题。对于以下代码,
public class ABC implements someInterface() {
public void test() {
someFunction(new A(), this);
}
}
someFunction
接受类 A 的实例和实现 someInterface
作为参数的回调。当使用powermock
来模拟新实例创建时,我们可以使用
whenNew(A.class).withNoArguments().thenReturn(mMockClass);
然后我们就可以得到模拟的A类了。
问题是如何模拟第二个参数?
最佳答案
要处理第一个参数,您可以使用 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();
...
关于java - 如何模拟接口(interface)?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/53192059/