我正在尝试为我的Android应用程序编写单元测试,但无法使用mockito执行我想要的操作。这是与Robolectric一起使用的,我工作得很好并且已经证明单元测试有效。我想根据是否连接了某些蓝牙设备来测试按钮是否会打开新Activity。显然,在我的测试中没有连接蓝牙的设备,但是我想假装好像有。蓝牙连接的状态存储在我的应用程序类中。没有可公开访问的方法来更改此值。所以基本上应用程序中的逻辑是这样的:HomeActivity.java://thisgetscalledwhenthebuttontoopenthelistisclicked.publicvoidopenListActiv
我有一个自定义的androidView,它具有我想要测试的可设置样式的属性。我正在尝试使用RoboAttributeSet将它们推送到我的View的构造函数中,但是对于我的生活来说,我无法找出让它们工作所需的正确语法。无论我尝试什么,在robolectric测试中运行时,我推送的属性都不会被View拾取。在设备或模拟器上运行该应用程序是可以的。是否有任何示例可以说明如何使用它们?有谁知道如何做到这一点?这是我的自定义View的代码fragment以及它如何使用可设置样式的属性。TypedArraycustomProperties=aContext.getTheme().obtainSt
我正在开发一个Android应用程序,我一直在使用Dagger进行依赖注入(inject)。我现在正在尝试测试具有这些依赖项之一的fragment,我们称它为ProductsService。在我的Robolectric测试中,我有一个覆盖ProductsService的测试模块:@Module(includes=ProductsModule.class,injects={Fragment.class,FragmentTest.class},overrides=true)staticclassMockProductsModule{@Provides@SingletonpublicProd
我正在努力让这种罕见的组合起作用,但我没有运气。我的项目使用JUnit+Mockito+Robolectric进行测试,使用Roboguice进行注入(inject),当我将PowerMock添加到等式时发生了奇怪的事情,这是我尝试过的一些事情:1.-开箱即用的PowerMock+Mockito+Robolectic集成。根据PowerMockIngration上的建议,我添加了一个@PowerMockRunnerDelegate来包含我的自定义运行器,它从RobolectricGradleTestRunner扩展:构建.gradletestCompile'org.powermock:
我正在整合acustomwidget进入我的项目。它使用自定义属性并使Robolectric崩溃。据我所知,customattributesaren'tsupportedyet.注意:构造函数是“敌对的”,因为它会在构造时抛出异常,但我现在已经将它们注释掉了。崩溃日志java.lang.RuntimeException:errorinflatinglayout/mainatcom.xtremelabs.robolectric.res.ViewLoader.inflateView(ViewLoader.java:106)atcom.xtremelabs.robolectric.res.V
我正在尝试使用Robolectric创建测试。我的目标是能够从自定义行为中替换一个类的功能(例如来自库,我无法修改代码)。我创建了这个小测试来模拟我想做的事情:@RunWith(RobolectricTestRunner.class)@Config(shadows={ShadowMessenger.class})publicclassTestShadow{@TestpublicvoidtestMessenger(){OriginalMessengermessenger=newOriginalMessenger();Stringmessage=messenger.getMessage()
我对robolectric的问题是它不会产生真正的HttpRequests。我能否使用实际调用本地测试服务器的真实实现来替换robolectric的HttpClient实现? 最佳答案 JanBerkel提交了apullrequest到3月8日合并到master中的Robolectric。您现在可以在测试开始时调用Robolectric.getFakeHttpLayer().interceptHttpRequests(false);以绕过Robolectric中模拟的http层。您可以直接从Sonatype下载jar。包含在您的Ec
我遇到了Robolectric在处理我的AndroidManifest.xml时遇到问题的问题。我的应用程序运行良好,但Robolectric未能通过我的所有测试,甚至assertTrue(true)。错误是:android.view.InflateException:XMLfile/[blah]/build/res/all/debug/layout/activity_main.xmlline#-1(sorry,notyetimplemented):Errorinflatingclassfragment原因:java.lang.IllegalStateException:Themeta
我正在尝试使用Robolectric运行单元测试;它们在AndroidStudio下运行良好,但在命令行中运行时完全相同的测试会失败-这很重要,我需要能够从我的持续集成平台运行它们,而不仅仅是从IDE。我怀疑我缺少一些命令行参数(例如类路径或类似的东西)或调用了错误的任务-否则测试根本不会从AndroidStudio运行。一些相关细节;测试看起来像这样:@RunWith(RobolectricTestRunner.class)@Config(manifest="app/src/main/AndroidManifest.xml",resourceDir="res",emulateSdk=
一段时间以来,我一直在用头撞墙,试图让maven、robolectric、actionbarsherlock和intellij都能很好地发挥作用。我暂时放弃了使用intellij进行构建,而是专注于maven。当我跳过Maven构建中的测试时,我有一个带有操作栏的应用程序(这告诉我我很高兴继续进行ActionBar集成)。IntelliJ构建在ManifestParsingTest.java上失败,提示它不知道junit在哪里(以及其他问题)。机器人电子集成我已经在项目中成功运行了Robolectric。我从JakeWharton'sgist复制了文件进入src/test/java/c