我对robolectric的问题是它不能生成真正的HttpRequests。
我可以使用实际对本地测试服务器进行调用的真实替代Robolectric的HttpClient实现吗?
最佳答案
Jan Berkel将a pull request提交给Robolectric,并于3月8日合并为master。现在,您可以在测试开始时调用Robolectric.getFakeHttpLayer().interceptHttpRequests(false);
来绕过Robolectric中模拟的http层。
您可以直接从Sonatype下载jar,以将其包含在Eclipse Android项目中。如果您使用的是Maven并且尚未发布1.1(请查看上面的Sonatype网址),则需要添加sonatype快照存储库并使用robolectric 1.1-SNAPSHOT。您可以通过将以下内容添加到pom.xml中来实现此目的
<repositories>
<repository>
<id>sonatype-snapshots</id>
<name>Sonatype Snapshots</name>
<layout>default</layout>
<url>https://oss.sonatype.org/content/repositories/snapshots</url>
<snapshots>
<enabled>true</enabled>
</snapshots>
</repository>
</repositories>
...
<dependencies>
<dependency>
<groupId>com.pivotallabs</groupId>
<artifactId>robolectric</artifactId>
<version>1.1-SNAPSHOT</version>
<scope>test</scope>
</dependency>
...
</dependencies>
我将其用于针对真实服务器运行的集成测试,并且效果很好。
关于android - 是否可以使用robolectric进行真正的http请求,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/9475998/