任何人都成功用Robolectric嘲笑HttpRequests?

Fas*_*axc 4 testing android http mocking

我刚刚开始使用Robolectric.它似乎可以很好地模拟大多数Android类,但是当我的测试类试图创建一个DefaultHttpClient()时,它会得到可怕的"Stub!".错误.

被测试的课程在这一行失败:

HttpClient httpclient = new DefaultHttpClient();
Run Code Online (Sandbox Code Playgroud)

尽管http://robolectric.blogspot.com/2011/01/how-to-test-http-requests.html?showComment=1297722651278#c3540420071421225744上的文章似乎表明这应该可行.

我的测试看起来像这样:

@Before
public void setUp() throws Exception
{
  Robolectric.addPendingHttpResponse(200, "OK");
  service = new CheckinService();
}

@Test
public void testIt() throws IOException
{
  // Fails at HttpClient httpclient = new DefaultHttpClient()
  service.doStuff(Robolectric.application,
                  REG_ID,
                  TEST_DOMAIN);
}
Run Code Online (Sandbox Code Playgroud)

知道我做错了什么吗?

mer*_*ica 6

在eclipse中修复它.我花了一些时间来弄清楚如何解决这个问题,但现在是:转到您的测试项目首选项>构建路径>订单和导出>选择robolectric jar并按下移动到顶部.