gpt4 book ai didi

android - 使用 MockWebServer 时超时?

转载 作者:行者123 更新时间:2023-11-29 14:12:36 38 4
gpt4 key购买 nike

我尝试使用 MockWebServer对我的 API 的各种响应。我做了一个简单的例子只是为了尝试我想做的是一种工作方法。

mockWebServer 不是用来“模拟”我的 http 连接的端点吗?像一个真正的服务器?每当我尝试调用电话时,都会遇到 UnknownHostException。

我是不是用错了? 它不应该只是替换服务器的响应吗? ( mock 它)

编辑:

我在 list 中拥有互联网许可。

我使用:

 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();
}

日志:

com.androidnetworking.error.ANError: java.net.UnknownHostException: Unable to resolve host "some-mock-url.com": No address associated with hostname

最佳答案

我找到了一个顺序颠倒的例子。

因此,您必须将模拟服务器的 url 设置为实际 URL,而不是设置模拟服务器的 URL,例如:

myAPIsURL= mockWebServer.url("/").toString();

而不是

mockWebServer.url(myAPIsURL);

关于android - 使用 MockWebServer 时超时?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/48543449/

38 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com