使用Robolectric,我们如何测试一个活动的重现性,该活动将模拟在响应回退按钮时重新创建的情况(在该活动因内存压力被安卓破坏后)?
在设备上,再现这种活动娱乐的步骤是:
由于最后一步使用Back按钮,您的活动将得到一个onCreate(),它包含一个非空saveInstanceState,其中包含一个包含键为"android:viewHierarchyState“的Bundle实例,如果使用了片段,则会得到一个FragmentManagerState实例,其中键为”android:support:saveInstanceState“。
我们怎样才能在Robolectric中模拟这一点呢?我们假设我们可以用ActivityController.create( Bundle )来完成这个任务,如果我们能够适当地设置这个包。
谢谢!
发布于 2015-04-24 19:22:25
我的两个人搞清楚了!使用saveInstanceState()请求Android填充所需的包:
ActivityController<SearchActivity> controller = ActivityController.of(SearchActivity.class);
controller.create().start().resume().visible().get();
Bundle outState = new Bundle();
controller.pause().saveInstanceState(outState).stop();
controller = ActivityController.of(SearchActivity.class).create(outState).start().visible();
subject = controller.get();
// the create(Bundle) method was just called with the complete view hierarchy and fragment informationhttps://stackoverflow.com/questions/29855096
复制相似问题