MockResponse setBody无法正常运行(OKHttp)

时间:2018-09-25 10:40:23

标签: android testing mocking retrofit okhttp

美好的一天。 我正在使用发生改型的API调用编写简单的测试。

测试看起来像这样

 mockWebServer.enqueue(new MockResponse()
                .setResponseCode(200)
                .setBody("{\"initial\":\"合理咯\"," +
                        "  \"translation\":\"sometranlsation\"}"));
        PinyTranslationRequest pinyTranslationRequest = new PinyTranslationRequest();

        ArrayList<String> inputString = new ArrayList<>();
        inputString.add("合理咯");

        pinyTranslationRequest.locale = CHINESSE_LANGUAGE_COUNTRY_CODE;
        pinyTranslationRequest.inputStrings = inputString;

        Call<PinyinTranslationResponse> responseCall = backendServerAPI.getPinyinTranslation(pinyTranslationRequest);

        Response<PinyinTranslationResponse> pinyinTranslationResponseResponse = responseCall.execute();

        assertEquals("he li ge", pinyinTranslationResponseResponse.body().translation);

此处声明失败,因为translation变量为null,因此我检查了完整的响应,如下所示:

Response{protocol=h2, code=200, message=, url=https://xxxx.xxx}

您可以看到message是空的,但是它不会像我为MockResponse设置正文一样。

任何提示我在做什么错了吗?

0 个答案:

没有答案