是否可以模拟Java类的单个方法?
例如:
class A {
long method1();
String method2();
int method3();
}
// in some other class
class B {
void someMethod(A a) {
// how would I mock A.method1(...) such that a.method1() returns a value of my
// choosing;
// whilst leaving a.method2() and a.method3() untouched.
}
}
最佳答案
使用Mockito's
spy 机制:
A a = new A();
A aSpy = Mockito.spy(a);
Mockito.when(aSpy.method1()).thenReturn(5l);
spy 的使用将为未存根的任何方法调用包装对象的默认行为。
Mockito.spy()/@Spy
关于java - 如何在Java中模拟单个方法,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/10895605/