【发布时间】:2023-04-01 19:58:01
【问题描述】:
public void makeLoginRequest(){
view.log(sessionHandler.getEncodedCredentials());
Call loginCall = apiService.getLoginInfo("application/json", "application/json"
, "SPT", "Android", sessionHandler.getEncodedCredentials());
loginCall.enqueue(new Callback<User>() {
@Override
public void onResponse(Call<User> call, Response<User> response) {
handleLoginResponse(response);
}
@Override
public void onFailure(Call<User> call, Throwable t) {
handleLoginFailure(t);
}
});
}
我正在尝试使用 JUnit 和 Mockito 测试此方法。此方法属于演示者类。为了测试这个我跑
presenter.makeLoginRequest(); 那么当 onResponse 被调用时
我使用永远不会被调用的verify(presenter).handleLoginResponse(response);。问题是它将继续运行handleLoginResponse(response); 中的所有内容。我不想执行这个方法中的什么,而只需要验证这个方法是否被调用。
如何忽略方法执行,或者测试它的最佳方法是什么?
【问题讨论】:
标签: java android junit mockito robolectric