我按照此处提到的建议进行模拟测试改造:Square retrofit server mock for testing
看起来我非常接近这个概念,除了返回对象为null。以下是我如何构建我的 嘲笑供应商的回应:
public Response getVendorsResponse(String url) {
String responseString = "";
if (url.contains("category=one")) {
responseString = mFixturesMan.use("one_all");
} else if (url.contains("category=two")) {
responseString = mFixturesMan.use("two_all");
}
return new Response(
url,
200,
"nothing",
Collections.EMPTY_LIST,
new TypedByteArray("application/json", responseString.getBytes()));
}
我的回调如下:
@Override
public void success(MyResult result, Response response) {
// result is null when mocked.
displayResult(result.getTitle());
}
调试时,我期望得到的响应。我看到了我设置的状态和原因。
这是否意味着响应错误时传递的数据?或者其他事情可能是错的?我已经从我知道有效的真实回复中复制(并略微修改)了文本,因此它可能是错误的数据。我似乎无法找到错误的来源。