android – MockWebServer和带回调的Retrofit

android – MockWebServer和带回调的Retrofit,第1张

概述我想模拟MockWebServer的网络通信.不幸的改造回调永远不会被调用.我的代码: MockWebServer server = new MockWebServer(); server.enqueue(new MockResponse().setResponseCode(200).setBody("{}")); server.play(); RestAdapter r 我想模拟MockWebServer的网络通信.不幸的改造回调永远不会被调用.我的代码:
MockWebServer server = new MockWebServer();    server.enqueue(new MockResponse().setResponseCode(200).setbody("{}"));    server.play();    RestAdapter restAdapter = new RestAdapter.Builder().setConverter(new MyGsonConverter(new Gson()))            .setEndpoint(server.getUrl("/").toString()).build();    restAdapter.create(SearchService.class).getCount(StringUtils.EMPTY,new Callback<CountContainer>() {                @OverrIDe                public voID success(CountContainer countContainer,Response response) {                    System.out.println("success");                }                @OverrIDe                public voID failure(RetrofitError error) {                    System.out.println("error");                }            });    server.shutdown();

当我在没有回调的情况下使用改装时,它可以工作.

解决方法 通过使用Callback,您可以告诉Retrofit调用请求并异步调用回调.这意味着您的测试在任何事情发生之前就会退出.

有两种方法可以使其工作:

>在测试结束时使用锁并等待,直到调用其中一个回调方法.>将同步Executor的实例(只是立即调用.run()的实例)传递给RestAdapter.Builder上的setExecutors,以便后台调用和回调调用同步发生.

总结

以上是内存溢出为你收集整理的android – MockWebServer和带回调的Retrofit全部内容,希望文章能够帮你解决android – MockWebServer和带回调的Retrofit所遇到的程序开发问题。

如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。

欢迎分享,转载请注明来源:内存溢出

原文地址:https://www.54852.com/web/1137394.html

(0)
打赏 微信扫一扫微信扫一扫 支付宝扫一扫支付宝扫一扫
上一篇 2022-05-30
下一篇2022-05-30

发表评论

登录后才能评论

评论列表(0条)

    保存