在Retrofit中模拟客户端 - 回调对象为null

时间:2014-05-22 21:30:53

标签: android mocking httpresponse retrofit

我按照此处提到的建议进行模拟测试改造: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());
    }

调试时,我期望得到的响应。我看到了我设置的状态和原因。

这是否意味着响应错误时传递的数据?或者其他事情可能是错的?我已经从我知道有效的真实回复中复制(并略微修改)了文本,因此它可能是错误的数据。我似乎无法找到错误的来源。

0 个答案:

没有答案