从命令行运行单元测试时,我无法加载资源。它在IntelliJ中运行良好。我正在使用:com.android.tools.build:gradle:1.1.3org.robolectric:robolectric-gradle-plugin:1.0.1org.robolectric:robolectric:2.4我有以下项目结构(多模块):+---module1||build.gradle|\---src|+---main|||AndroidManifest.xml|||||+---res|||\---values|||strings.xml|\---test|\---java|\---
我正在尝试使用Robolectric来测试我的Activity,但在尝试使用Robolectric设置Activity时,我总是遇到NPE。我遵循了robolectric.org中的指南网站。这是我的代码:@Config(constants=BuildConfig.class,sdk=Build.VERSION_CODES.LOLLIPOP,manifest="src/main/AndroidManifest.xml")@RunWith(RobolectricTestRunner.class)@IgnorepublicclassMainActivityUnitTest{privateM
我正在尝试对扩展SherlockActivity的Activity运行测试。我阅读了我能找到的关于使用ActionBarSherlock测试Activity的解决方案的所有内容,并尝试关注https://github.com/passy/absshadow-sample这是我目前正在做的:自定义测试运行器:publicclassCustomTestRunnerextendsRobolectricTestRunner{privatestaticfinalintSDK_INT=Build.VERSION.SDK_INT;publicCustomTestRunner(ClasstestCla
我正在开发Android应用程序。我正在使用改造(使用OkClient)进行api请求和Robolectric进行测试。我的api看起来像这样:@GET("/v1/book/{bookId}")ObservablegetBook(@Path("bookId")intbookId);只是为了Robolectric,我强制api调用是同步的。restAdapter构建器如下所示:RestAdapter.Builderbuilder=newRestAdapter.Builder().setEndpoint(environment.getServerEndpoint()).setClient(
我正在尝试使用Dagger注入(inject)服务TelephonyManager。我正在关注这个sample.我扩展了Application类来创建图形,并定义了一个ApplicationModule,其中包含ServiceModule,将来还会包含其他模块。编辑:现在,系统服务已毫无问题地注入(inject)到Activity中。我在Activity中丢失了FinderApplication.inject(this)。它有一个注入(inject),但在使用Robolectric测试时仍然没有注入(inject)。我在这篇文章的底部添加了测试用例:编辑2:ApplicationMod
我正致力于在持续构建环境中设置Robolectric,但我在设置时遇到了一些问题。我的androidEclipse项目结构由一个android项目和一个JUnit4测试项目组成,如Robolectric“Eclipse快速入门”快速指南中所述。我的示例测试在Eclipse中运行良好,但我还需要能够使用ant进行测试。我将如何构建我的ANTbuild.xml来支持它?以及我应该如何应用对Eclipse测试项目所做的相同更改?我一直在研究RobolectricSample项目的build.xml文件,但它由一个项目组成,生产代码和测试代码都位于项目src文件夹下。我知道这就是maven假设
我怎样做才能在Robolectric中对ActiveAndroid的ContentProvider进行一些测试?这个简单的测试失败了。模型:@Table(name="Things")publicclassThingextendsModel{publicThing(){super();}}测试:@RunWith(RobolectricTestRunner.class)publicclassContentProviderTest{@TestpublicvoiditShouldQuery()throwsException{newThing().save();ContentResolvercr
我是Robolectric的新手,遇到了障碍。我有一些自定义事件会在微调器中选择一个项目时触发,我想使用robolectric测试它。我看到ShadowSpinner类提供了诸如stateSpinner.clickFirstItemContainingText之类的辅助函数来单击特定项目。我用适当的值填充微调器,我测试将每个项目打印为for(inti=0;i但是,当我将clickFirstItemContainingText与其中一个po一起使用时脉冲值,我得到一个IllegalArgumentException。没有找到包含测试的项目,这很奇怪,因为上面的代码显示特定值确实存在。任何
这个SO问题与我想做的非常相似:HowcanIshadowthePackageManagerwithRobolectric然而,所有的答案都依赖于ShadowApplication.setPackageManager()。在2.2中,这个方法好像已经不存在了:http://robolectric.org/javadoc/org/robolectric/shadows/ShadowApplication.html我试图只获取包管理器并添加解析信息:RobolectricPackageManagerpackageManager=(RobolectricPackageManager)Robo
我使用make进行构建,使用Robolectric作为运行Android测试的框架。我想计算我的应用程序的覆盖率。对于仪器测试,我曾经使用emmalib。在这种情况下,我设置覆盖率计算的最佳方法是什么?我无法迁移到gradle或maven。 最佳答案 你和Emma有关系吗?如何使用RoboElectric+Cobertura代码覆盖率?(我认为您可以对上述组合使用CLI)所以选项1.)RoboElectric+Cobertura-CLI单独可能适用于不在ANT上的人2.)JaCoCo可能有一些有用的选项3.)纯Android测试+E