Android 有人成功地用机器人分子模拟了httprequest吗?
我只是从机器人分子开始。模拟大多数Android类似乎效果不错,但当我的被测类尝试创建DefaultHttpClient()时,会出现可怕的“Stub!”错误 测试中的类在此行失败:Android 有人成功地用机器人分子模拟了httprequest吗?,android,http,testing,mocking,Android,Http,Testing,Mocking,我只是从机器人分子开始。模拟大多数Android类似乎效果不错,但当我的被测类尝试创建DefaultHttpClient()时,会出现可怕的“Stub!”错误 测试中的类在此行失败: HttpClient httpclient = new DefaultHttpClient(); 尽管在上的文章似乎建议这应该是可行的 我的测试如下所示: @Before public void setUp() throws Exception { Robolectric.addPendingHttpResp
HttpClient httpclient = new DefaultHttpClient();
尽管在上的文章似乎建议这应该是可行的
我的测试如下所示:
@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);
}
知道我做错了什么吗?在pom.xml中,将机器人分子依赖项移到android依赖项之上。在eclipse中修复了它。 我花了一段时间才弄明白如何解决这个问题,但问题是:
转到您的测试项目首选项>构建路径>订购和导出>选择robolectric jar,然后按“移到顶部”。我没有使用maven,因此我不知道如何在没有它的情况下复制它。有什么想法吗?听起来像是我需要的。这个方法解决了Eclipse+ADT中大量看似随机的问题。我没想到在这里用它!请注意,如果您使用的是比robolectric更新版本的android支持库,您需要确保在构建路径中高于robolectric。使用IntelliJ/android Studio和Maven,我必须将android平台移动到所有Maven依赖项之下,而不仅仅是robolectric。