我刚刚开始使用Robolectric。它似乎可以很好地模拟大多数Android类,但是当我的测试类试图创建一个DefaultHttpClient()时,它会得到可怕的“Stub!”。错误。
受测试的课程在这一行失败:
HttpClient httpclient = new DefaultHttpClient();
尽管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);
}
知道我做错了吗?
答案 0 :(得分:6)
在eclipse中修复它。 花了一些时间来弄清楚如何解决这个问题,但这里是: 转到您的测试项目首选项>构建路径>订单和出口>选择robolectric jar并按下移动到顶部。
答案 1 :(得分:3)
在你的pom.xml中,将robolectric依赖项移到android的顶部。