我使用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>
我正在使用这种集成测试来运行一个真正的服务器,它的工作正常.