我只是想测试获取字符串资源是否等于我认为它应该等于的值。我的问题似乎是我的项目中有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)知道是什么原因造成的以及如何修复它吗?
我正在使用带有自定义初始化的Android工作管理器。为此,我像这样在list中禁用自动初始化在应用程序代码中我使用这段代码privatefuninitWorkManager(){WorkManager.initialize(this,Configuration.Builder().run{setWorkerFactory(appComponent.daggerWorkerFactory())build()})}当我运行我的应用程序时它工作正常。但是,当我使用roboletric进行测试时,任何需要RuntimeEnvironment.application上下文的类都会抛出此异常ja
我的企业环境中所有http和https调用都在代理后面。通过将导出的http_proxy环境变量放入.profile文件,我能够解决命令行下载的一些问题。但是使用Robolectric2.2在第一次运行之前下载android源或类我失败了。我还没有CI设置,所以我只是想从idea运行测试。有谁知道热修吗?我尝试在IDEA设置中提供代理,我尝试在运行配置中提供额外的环境变量。没有任何帮助UPD当我在Mac设置中指定代理时,它会产生另一个错误:无法在存储库sonatype(https://oss.sonatype.org/content/groups/public/)中找到资源“org.s
我已经从这里、github和robolectric博客阅读了很多链接,但还没有找到可行的解决方案(已经使用Robolectric2.0alpha2)。更新:即使我们将SherlockFragment替换为android.support.v4.app.Fragment也会出现此问题。遵循此tip后,我能够测试SherlockFragmentActivity,但是当我将这个fragment(即SherlockFragment)添加到我的Activityxml时:SherlockFragment类:publicclassExampleFragmentextendsSherlockFragme