无法使用robolectric捕获HTTP请求
我试图用Robolectric捕获一个http请求方法tokenize方法向服务器发送一个请求,我只想测试发送的post:如果我尝试
//Cardtest.java Robolectric.setDefaultHttpResponse(200, "dummy"); card.tokenize(paymentHandler); Robolectric.getSentHttpRequest(0);
我有一个空数组错误
但我知道请求已发送,因为如果我删除第一行,则会出现以下错误:
Unexpected HTTP call POST
如果我把log语句看起来似乎永远不会为http请求调用我的成功块。
如何确保调用我的HTTP请求成功回调。
(我已经尝试过Robolectric.runUiThreadTasksIncludingDelayedTasks();)
谢谢
我们在评论中讨论过。 问题是因为Robolectric
被配置为不拦截http请求:
Robolectric.getFakeHttpLayer().interceptHttpRequests(false)
高于3.0和更高版本,您可以使用
FakeHttp.getFakeHttpLayer().interceptHttpRequests(false);