我已经使用robolectric编写了一些测试,现在我想做一些真正的测试类(class)。我注意到的一件事是我无法测试onCreate、onLocationChanged等事件。测试事件的标准做法是什么?我是否应该提取事件中的代码并将它们放在一个方法中,事件将调用该方法,robolectro也可以调用该方法,当然该方法需要是公共(public)的,对吗?另外,如果我想在我的方法中测试通常是私有(private)变量的东西,那么我需要添加一个公共(public)getter,对吧?我可以从robolectric检查这个吗?是否有更好的方法将数据公开给robolectric?
我已经知道以前有人问过这个问题,但我无法解决这个问题。我能够使用jUnit、Robolectric和Gradle编译和应用测试。当我尝试测试Activity或获取资源时出现问题或错误。每次我遇到同样的问题时:android.content.res.Resources$NotFoundException:未知资源Resources$NotFoundException:没有这样的主题PageActivitystartPageActivity=Robolectric.buildActivity(PageActivity.class).create().get();Contextcontext
我创建了一个带有ListView的布局,它根据按下的2个给定按钮中的哪一个来更新其中的值。按下标有Odds的按钮将清除所有值并添加奇数直到20。按下evens做同样的事情,除了偶数。在真实设备上模拟或试用时,这工作正常。以下是Activity代码。publicclassListViewActivityextendsActivity{privateListViewmainListView;privateArrayAdapterlistAdapter;@OverridepublicvoidonCreate(BundlesavedInstanceState){super.onCreate(s
如何在Robolectric中对RecyclerView、ScrollListener和LinearLayoutManager进行单元测试?我对这种测试还很陌生,但我真的很想模仿手势,尤其是滚动。 最佳答案 我想您真正不想测试的是您的代码,以及它是否按预期使用这些组件运行。由于你的问题范围很广,让我给它一个用例。:假设您有一个带有RecyclerView的fragment,它有一个LinearLayoutManager。您想要测试单击其中一项是否会触发对另一层的正确方法调用。(假设您使用MVP,那就是演示者)一个可能的测试看起来像这
我正在尝试从Robolectric.org的WritingYourFirstTest运行测试页。有问题的测试看起来像这样:@TestpublicvoidclickingLogin_shouldStartLoginActivity(){WelcomeActivityactivity=Robolectric.setupActivity(WelcomeActivity.class);activity.findViewById(R.id.login).performClick();IntentexpectedIntent=newIntent(activity,WelcomeActivity.c
好吧,我有一个奇怪的错误。当我通过IntelliJ运行测试时,它毫无问题地通过了。但是,如果我使用sure-fire插件或“mvncleantest”命令运行它,则会出现以下异常:shouldLoadMoreDataOnScrollBeyondTheThreshold(br.com.cybereagle.androidwidgets.listener.EndlessScrollListenerTest)Timeelapsed:2.73sec这是我的测试:@RunWith(RobolectricTestRunner.class)@Config(manifest=Config.NONE)p
我有一个要测试的androidcustomView。当N是subview高度时,很少有测试模拟Ndps的滚动。我用robolectric运行测试,但我总是在运行时得到subView.getHeight()==0那是因为subview的高度定义为wrap_content,我猜robolectric不会膨胀所有View来获取此准确信息。例如subView.getWidth>0定义为匹配父级。这是我的测试@before方法:@BeforepublicvoidsetUp(){myView.getHeaderView().getViewTreeObserver().addOnGlobalLayo
我收到这个警告:RoboLectricandEclipse(WARNING:nosystempropertiesvalueforro.build.date.utc)我最初添加了具有依赖项的RoboLectric2.1Jar。当我第一次运行JUnit时,它会在控制台中下载一些东西。之后,每次我运行测试时都会出现错误。我尝试获取具有依赖项的RoboLectric2.2Jar快照,但这并没有解决问题。有人知道问题出在哪里吗?我已经尝试过这些东西了:将我的list路径添加到org.robolectric.Config.properties文件。使用GitHub上提出的这个VM参数-XX:-Us
我正在使用Robolectric测试我的Android应用程序,但我遇到了一个奇怪的情况。发生的情况是,当我运行一些测试集时,使用Robolectric运行的第一个测试比任何其他测试花费的时间都多。它不是特定于测试本身,因为我根据测试顺序尝试了不同的配置,结果是第一个测试总是最慢的。是否有任何Robolectric设置时间或类似时间?提供的任何信息都是有用的。例如: 最佳答案 是的,这是设置时间。不幸的是,没有一个集中的地方可以收集关于Robolectric的所有信息。观看thispresentation您会在第28、29、30、3
我只是想用robolectric测试某个View是否在fragment中可见。我的单元测试如下所示:ActivityControllercontroller=Robolectric.buildActivity(FragmentActivity.class);FragmentActivityactivity=(FragmentActivity)controller.create().start().resume().visible().get();Ffragment=newMyFragment();activity.getSupportFragmentManager().beginTra