我想测试一个类,它使得方法调用并等待响应通过监听器。模拟Mockito的回调和监听器
这些是交互器中的接口。当我打电话给fetch
时,其中一个收听者功能被回叫。
interface Interactor {
void fetch(int offset, int size);
}
interface InteractorListener {
void onReady(List<Result> results);
void onError();
}
public class MyInteractor implements Interactor{
private ImageInteractorListener listener;
public MyInteractor() {}
public onAttach(ImageInteractorListener listener) {
this.listener = listener;
}
public void fetch(int offset, int size) {
// Make asyncrhonous task
// and manage the response in the next method
}
public void onAsyncroouTaskResponse() {
if (someChecks) {
listener.onReady(List<Result> results);
} else {
listener.onError();
}
}
}
public class MyClass implements ImageInteractorListener {
public MyClass() {
MyInteractor interactor = new Interactor();
interactor.onAttach(this);
interactor.fetch(1,1);
}
@Override
void onReady(List<Result> results) {
// doThings
}
@override
void onError() {
// doThings
}
}
这就是我的课程。我需要测试MyClass
,所以我需要模拟交互回调
我已经尝试了不同的解决方案与不同的问题,所以现在我没有最终的代码或错误。但没有人工作..
谢谢。
我不确定我是否理解你的类层次结构。你有一个“班级”,在“Interactor”上调用'fetch'。这个'Interactor'有一个类型为'InteractorListener'的成员,你想验证在调用fetch之后,该成员是否调用了onReady或onError? –
我已经添加了示例代码。谢谢! – adalPaRi