我尝试使用MockWebServer来处理对API的各种响应。我举了一个简单的例子,只是想尝试一下,我想做的是一种工作方法。
mockWebServer不是要“模拟”我的http连接的端点吗?像个真正的服务器?每当我试图打电话给时,我就得到了UnknownHostException.
我用错了吗?不是应该只是替换服务器的响应吗?(嘲笑它)
E D I T:
我在舱单上有互联网许可。
我用:
androidTestImplementation 'com.squareup.okhttp3:mockwebserver:3.9.1'代码:
@Test
public void myTest() throws IOException, InterruptedException {
String url = "http://some-mock-url.com";
MockWebServer server = new MockWebServer();
server.enqueue(new MockResponse().setBody("Something not valid JSON response"));
server.start();
server.url(url);
final CountDownLatch signal = new CountDownLatch(1);
AndroidNetworking.get(url)
.addQueryParameter("some_key", "some_value12345")
.addHeaders("token", "token_1231234")
.build()
.getAsJSONObject(new JSONObjectRequestListener() {
@Override
public void onResponse(JSONObject response) {
signal.countDown();
Log.i("Response", "jsonObject: " + response);
}
@Override
public void onError(ANError anError) {
signal.countDown();
Log.i("Response", "error: " + anError.getMessage());
}
}
);
signal.await();
}Logcat:
com.androidnetworking.error.ANError: java.net.UnknownHostException:无法解析主机“若干-模拟-url.com”:没有与主机名相关联的地址
发布于 2020-10-20 01:38:06
如果有人有同样的问题,MockWebServer来自OKHttp的同一个依赖项,所以他们都需要有相同的依赖版本。
发布于 2019-01-22 11:17:38
这是我的代理问题。我遵循了这个解决方案。我现在不会得到未知的主机异常。https://stackoverflow.com/a/41714851/5856146
https://stackoverflow.com/questions/48543449
复制相似问题