我遇到这样的情况:
class A {
void methodA(Callback cb) {
...
cb.onResult(result);
}
}
class B {
void methodB(A a) {
a.methodA(new Callback() {
void onResult(Result r) {
...
}
});
}
}
问题是:如何使用 EasyMock 测试具有不同“结果”的“B.methodB”?
最佳答案
您可以捕获
传递给methodA
的Callback
Capture<Callback> cap = new Capture<Callback>();
mockA.methodA(capture(cap));
replay(mockA);
instanceOfB.methodB(mockA);
Callback cb = cap.getValue();
// now we can call cb.onResult with a mocked Result instance
关于java - EasyMock:带有回调参数的方法,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16373378/