我对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/

10-13 03:04