我使用robolectric的问题是它不会使真正的HttpRequests.
我可以使用真正的HttpClient实现代替我的本地测试服务器的呼叫吗?
解决方法
Jan Berkel于3月8日向Robolectric提交了
a pull request,并被并入主人.你现在可以调用Robolectric.getFakeHttpLayer().interceptHttpRequests(false);在你测试的开始,绕过Robolectric的嘲笑的http层.
您可以直接从Sonatype下载jar包含在您的Eclipse Android项目中.如果您使用的是Maven,并且尚未发布1.1(请参阅上面的Sonatype URL),那么您将需要添加sonatype快照repo并使用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>
我正在使用这种集成测试来运行一个真正的服务器,它的工作正常.