我正在开始使用Robolectric进行单元测试。我有一个按钮,单击该按钮会向用户弹出一个确认对话框。当用户点击BUTTON_POSITIVE时,一个新的Activity开始,点击BUTTON_NEGATIVE,没有任何反应,用户停留在当前Activity。对于BUTTON_POSITIVE用例,我能够通过以下方式进行测试:dialog.getButton(DialogInterface.BUTTON_POSITIVE).performClick();assertThat(currentActivity,newStartedMatcher(NextActivity.class));对于
我正在尝试使用Robolectric(3.0RC2)为Android应用程序中的SyncAdapter实现编写一些离线测试。该应用程序将在使用wifi连接的工厂中的无SIM卡手机上运行。所以我希望能够针对我的wifi连接检查代码编写测试。我已经编写了一个简单的测试,基于我在网上找到的示例来隐藏ConnectionManager以模拟在wifi上。然而,尽管将NetworkInfo设置为TYPE_WIFI,连接管理器总是返回TYPE_MOBILE的NetworkInfo类型。所以我的testSimple的最终断言失败了。我错过了一步吗?importandroid.content.Cont
我只是想测试获取字符串资源是否等于我认为它应该等于的值。我的问题似乎是我的项目中有Realm。我知道Robolectric不支持Realm(它在文档中说明),但我根本没有调用Realm,所以我觉得可能有办法做到这一点。importorg.junit.Test;importorg.junit.runner.RunWith;importorg.robolectric.RobolectricTestRunner;importorg.robolectric.RuntimeEnvironment;importorg.robolectric.annotation.Config;importstat
在我的Activity的onCreate中,我有:AudioManageraudioManager=(AudioManager)getSystemService(Context.AUDIO_SERVICE);当使用Robolectric测试Activity时,我使用它创建它ActivityControllercontroller=Robolectric.buildActivity(MainActivity.class);MainActivityactivity=controller.attach().create().get();然后创建了AudioManager,但mContext=
我最近将Dagger2实现到一个Android应用程序中以便于依赖注入(inject),但在这样做之后我的一些测试已经停止工作。现在我想了解如何调整我的测试以使用Dagger2?我正在使用Robolectric来运行我的测试。这是我如何使用Dagger2,我最近才学会它,所以这可能是不好的做法,对测试没有帮助,所以请指出我可以做的任何改进。我有一个AppModule,如下所示:@ModulepublicclassMyAppModule{//ApplicationreferenceApplicationmApplication;//Settheapplicationvaluepublic
我在测试getView时遇到错误。测试代码在测试用例期间调用View.setImageResource(0)以在异常发生时设置空图像。我用Eclipse运行了测试robolectric-2.2-20130712.161723-17-jar-with-dependencies.jar。我尝试用ShadowResources.createFor(newResourceLoader(){...}替换ResouceLoader。但它不起作用。我替换的ResouceLoader没有被调用。有人知道怎么解决吗?android.content.res.Resources$NotFoundExcept
我需要使用Robolectric为Android应用程序中的菜单编写测试。菜单源代码:@OverridepublicbooleanonCreateOptionsMenu(Menumenu){getMenuInflater().inflate(R.menu.main,menu);returnsuper.onCreateOptionsMenu(menu);}@OverridepublicbooleanonMenuItemSelected(intfeatureId,MenuItemitem){switch(item.getItemId()){caseR.id.exit:this.finish
当我尝试执行测试时,无法使用Robolectric执行测试:./gradlewtest我得到以下异常:com.Makeupalley.test.HomeRobolectricTest>initializationErrorFAILEDjava.lang.NoClassDefFoundErrorCausedby:java.lang.ClassNotFoundExceptionjava.lang.NoClassDefFoundError:android/app/Activityatjava.lang.ClassLoader.defineClass1(NativeMethod)atjava.
我一直在努力java.lang.NoClassDefFoundError:android/content/pm/PackageManager$NameNotFoundException...java.lang.ClassNotFoundException:couldn'tloadandroid.content.pm.PackageManager$NameNotFoundException...Causedby:java.util.zip.ZipException:invalidLOCheader(badsignature)知道是什么原因造成的以及如何修复它吗?
我在AndroidStudio上遇到了一个非常令人沮丧的行为,更新到最新版本(3.1.3,构建编号#AI-173.4819257),gradle插件版本3.1.3。发生的事情是,在运行基于Robolectric的单元测试后,单击“重新运行失败的测试”,我总是收到此消息:0testclassesfoundinpackage'my-package-name'Processfinishedwithexitcode254Emptytestsuite.我尝试使缓存无效/重新启动,更新到每个依赖项的最新版本。其实我找不到任何关于这个问题的有用信息,所以我在这里询问是否有人经历过类似的行为在这里你可