无法使用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);