mja*_*ama 2 junit android robolectric
我正在尝试使用Robolectric测试框架的HTTP层测试HTTP调用.
我的测试类已经使用RunWith(RobolectricTestRunner.class)进行了注释.这是一个示例HTTP测试用例:
@Test
public void testHttpGet() {
Robolectric.addPendingHttpResponse(200, "All your requests are belong to Robolectric");
String response = ConnectionUtils.sendRequest();
assertThat(response, equalTo("All your requests are belong to Robolectric"));
}
Run Code Online (Sandbox Code Playgroud)
此测试失败,JUnit Failure Trace报告以下DefaultRequestDirector异常(源自sendRequest()调用):
java.lang.NoSuchMethodError: org.apache.http.impl.client.DefaultRequestDirector.<init>(Lorg/apache/commons/logging/Log;Lorg/apache/http/protocol/HttpRequestExecutor;Lorg/apache/http/conn/ClientConnectionManager;Lorg/apache/http/ConnectionReuseStrategy;Lorg/apache/http/conn/ConnectionKeepAliveStrategy;Lorg/apache/http/conn/routing/HttpRoutePlanner;Lorg/apache/http/protocol/HttpProcessor;Lorg/apache/http/client/HttpRequestRetryHandler;Lorg/apache/http/client/RedirectHandler;Lorg/apache/http/client/AuthenticationHandler;Lorg/apache/http/client/AuthenticationHandler;Lorg/apache/http/client/UserTokenHandler;Lorg/apache/http/params/HttpParams;)V
at org.apache.http.impl.client.AbstractHttpClient.createClientRequestDirector(AbstractHttpClient.java:660)
at org.apache.http.impl.client.AbstractHttpClient.execute(AbstractHttpClient.java:625)
at org.apache.http.impl.client.AbstractHttpClient.execute(AbstractHttpClient.java:576)
at org.apache.http.impl.client.AbstractHttpClient.execute(AbstractHttpClient.java:554)
Run Code Online (Sandbox Code Playgroud)
可能导致Apache类抛出异常的任何想法?
使用当前最新的库,robolectric-1.2-20120730.165026-113-jar-with-dependencies.jar.
在Robolectric Google Group上找到答案:https://groups.google.com/forum/#!msg/robolectric/jWwWjQ23wHI/X9b_ZdDMJg0J
cached-robolectric-classes.jar.如果你遵循Robolectric的Eclipse安装说明,这个文件将在[你的主要Android项目]/tmp下.| 归档时间: |
|
| 查看次数: |
1490 次 |
| 最近记录: |