这个问题我似乎无法摆脱,我已经阅读了大约3到4打文章和线程试图解决它。我已经概述了下面的所有内容。基本上问题是,问题是我在Robolectric上有缺陷吗?或者我遗漏了一些小步骤,或者我有一个奇怪的插件组合。对此的任何指导将不胜感激。Windows7的版本:Gradle2.7AndroidStudio1.3.2Robolectric3.0Roboguice3.+项目依赖:dependencies{classpath'com.android.tools.build:gradle:1.3.0'classpath"com.newrelic.agent.android:agent-gradle
我需要一种非常简单的方法来让Robolectric3.0打开日志记录。我想查看robolectric的输出,而不仅仅是我的测试。我在网上试过的所有东西都不起作用。我应该把它贴在哪里?robolectric.logging.enabled=true我尝试了以下方法:在test/java/res的robolectric.properties文件中在test/java/resources的robolectric.properties文件中在test/res的robolectric.properties文件中在test/resources的robolectric.properties文件中在渐
我有一个Java库,它使用了AndroidAPI中的一些东西。我想使用Mockito为这个库编写单元测试。我有办法解决这个问题吗?Mockito在DalvikVM上运行不佳,请参阅此帖子:UsingMockitowithAndroidvirtualmachine更新:自从发表这篇文章后,我发现了Robolectric,并且有机会在PivotalLabs工作并为这个库做出一些小贡献。我建议在Android测试框架/mockito上使用它。此外,您可以自由使用Robolectric和Mockito,但Robolectric中的影子对象使得Mockito对于大多数用例来说都是不必要的。尝试对
在我的Android应用程序中,我设置了Volley。Robolectric.application已初始化,所有其他测试运行顺利。尝试获取模拟的HTTP响应时出现此错误。这是我的测试:@RunWith(MyRobolectricTestRunner.class)publicclassApiTests{@InjectprotectedApiapi;@BeforepublicvoidsetUp(){ObjectGraph.create(newAndroidModule(Robolectric.application),newTestApplicationModule()).inject(
我正在尝试使用SQLite(OpenHelper)作为数据库,使用Robolectric3.0+Gradle运行多个测试。运行每个单独的测试工作正常,但启动整个测试套件总是会在第二个测试中导致RuntimeException。这是我的测试假人,它不起作用。@RunWith(RobolectricGradleTestRunner.class)@Config(constants=BuildConfig.class,sdk=21)publicclassDummy{@BeforepublicvoidsetUp()throwsException{//setupactivity...}@Testp
我有一个简单的类Job扩展了HandlerThread:publicclassJobextendsHandlerThread{publicJob(Stringname){super(name);}...}然后,我有一个JobUtils类,它具有获取Job&start()的功能:publicJobUtils{publicJobUtils(){}//IunittestthisfunctioninmytestclassbelowpublicJobgetAndStartJob(Stringname){Jobjob=newJob(name);job.start();}}我使用Robolectri
如何使用Robolectric来测试将Intent广播为响应的IntentService?假设有以下类:classMyServiceextendsIntentService{@OverrideprotectedvoidonHandleIntent(Intentintent){LocalBroadcastManager.getInstance(this).sendBroadcast(newIntent("action"));}}在我的测试用例中,我试图做这样的事情:@RunWith(RobolectricTestRunner.class)publicclassMyServiceTest{
我注意到时不时会有关于使用Robolectric测试自定义ContentProvider的问题。然而,对于如何正确地做到这一点,从来没有一个具体而明确的答案。我偶然发现了两种不同的方法:有人说您可以简单地实例化内存中的ContentProvider,您可以使用它来插入和查询数据(https://gist.github.com/anonymous/6139359)另一种说法是使用ShadowContentResolver设置模拟光标数据(https://groups.google.com/d/msg/robolectric/r35mMirIkTs/xJJBNXl_RgwJ)但是,我在这两
虽然这个问题已经在其他线程的以前版本中得到了回答,但现在所有的答案似乎都不适用于我的api28,所以..所有Robolectric测试在api27上运行良好。现在,当我的应用程序api目标为28时,它们都失败了。我有@Config(constants=BuildConfig::class,sdk=[Build.VERSION_CODES.P])在我的测试课上。深入研究Robolectrics内部SdkConfig.java,看起来他们添加了对api28的支持:addSdk(Build.VERSION_CODES.P,"P","4651975","P");但是在调试器中评估该行代码时,B
我有一个使用ORMLite/SQLite的Android应用程序,我将Robolectric与JUnit4结合使用,以允许我在AndroidStudio和Jenkins构建服务器上运行单元测试。通常我会在我的测试中设置测试数据,在设置中,然后针对它运行我的测试场景,但是当我尝试这样做时,我开始遇到似乎与文件被锁定或其他相关的问题和异常这似乎是其他人遇到的问题......所以我到目前为止所做的是使用我的数据库助手中的创建数据库方法来创建一些测试期望存在的虚拟数据。问题是我的应用程序现在需要插入一个真实的数据库,而我不能让它在运行时设置虚拟数据。在我的数据库助手类中,是否有办法检测代码是在