android - 是否可以使用 robolectric 进行真正的 http 请求

标签 android testing robolectric

我对 robolectric 的问题是它不会产生真正的 HttpRequests。

我能否使用实际调用本地测试服务器的真实实现来替换 robolectric 的 HttpClient 实现?

最佳答案

Jan Berkel 提交了 a pull request到 3 月 8 日合并到 master 中的 Robolectric。您现在可以在测试开始时调用 Robolectric.getFakeHttpLayer().interceptHttpRequests(false); 以绕过 Robolectric 中模拟的 http 层。

您可以直接从Sonatype 下载jar。包含在您的 Eclipse Android 项目中。如果您正在使用 Maven 并且 1.1 尚未发布(请查看上面的 Sonatype url),那么您将需要添加 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/

相关文章:

testing - Dart 单元测试过滤

android - 使用 Robolectric 3 和 ORMLite 进行测试时使用本地数据库

java - String.data 到 java (Swift)

android - 无法关闭/退出 Android Studio

android - 客户端-服务器 TCP 通信

android - 程序类型已存在 : org. xmlpull.v1.XmlPullParserException

单元测试(robolectric)中的Android连接超时

android - KitKat 上是否可以有 2 个功能性 SMS 应用程序?

java - 以下功能的测试用例

testing - 用于登录的 Jmeter 测试