Android Robolectric:在HttpResponse中测试cookie

Android Robolectric:在HttpResponse中测试cookie,android,robolectric,android-testing,Android,Robolectric,Android Testing,我正在用它来测试我的Android应用程序。 我正在尝试编写一个测试来验证我的Android应用程序是否正确地从HttpResponse接收cookies。 我尝试了一些选择,但没能成功 以下是我在测试中尝试的内容: BasicHeader responseHeader = new BasicHeader("Set-Cookie", "cookiename=value"); String responseBody = "OK" int responseCode = 200; HttpRespon

我正在用它来测试我的Android应用程序。 我正在尝试编写一个测试来验证我的Android应用程序是否正确地从HttpResponse接收cookies。 我尝试了一些选择,但没能成功

以下是我在测试中尝试的内容:

BasicHeader responseHeader = new BasicHeader("Set-Cookie", "cookiename=value");
String responseBody = "OK"
int responseCode = 200;
HttpResponse httpResponse = new TestHttpResponse(responseCode, responseBody, responseHeader);
Robolectric.addPendingHttpResponse(httpResponse);
这就是我的Android应用程序代码的样子:

DefaultHttpClient client = new DefaultHttpClient();
HttpPost httpPost = new HttpPost(urlString);
// omitted: add username & password to request as urlencoded parameters
HttpResponse response = client.execute(httpPost);
// ...
List<Cookie> cookies = client.getCookieStore().getCookies();
其他测试运行良好,所以我让Robolectric开始工作。 但是cookies列表总是空的,尽管当我使用应用程序引擎后端的应用程序时,它可以正常工作。 但是,我可以在测试中从HttpPost获取URL编码的用户名和密码,因此请求得到处理,只是没有任何cookie


有人尝试过类似的方法吗?

将你的roblectric.addPendingTTPresponseHttpResponse;调用android连接方法之前的行

这可能有用