我试图断言在调用我的设置应用的onCreate()
方法时正在初始化正确的偏好设置。我正在尝试使用robolectric
API。
我可以引用ActivityController
- 名为activityCont
,我也引用了活动本身 - 名为myActivity
,使用activityCont.get()
获得。我还引用了一个名为FragmentManager
的{{1}}。所以我的设置是:
fragMgr
首先,我想断言正在构建某些片段。所以,我使用:
@Before
public void setup() {
activityCont = Robolectric.buildActivity(mySettings.class);
myActivity = activityCont.get();
activityCont.create();
FragMgr = myActivity.getFragmentManager();
}
但是,这个测试总是失败,即使我可以证明myFragmentClass正在构建的事实。我只是将活动设置为处于错误的生命周期阶段?在哪个阶段创建了片段以便可以访问它们?
我怀疑的是@Test
public void canBuildParticularFragment() {
activityCont.attach().start().resume();
Assert.assertNotNull(FragMgr.findFragmentByTag((new myFragmentClass()).getTag()))
}
只是获得了一个特定于该类实例的标签,这意味着标签I" getTag()
"在上面的代码中不会返回任何片段,因为它们不同。如果这是真的,我怎么能得到正确的片段,因为我不知道它的标签,我不想在包含它的xml文件中给它一个id?
最后,我希望能够在我对该片段进行引用后,get()
显示get()
的列表,以便我preferences
它们是正确的在其他一些配置上。那么,我如何才能获得assert
myFragmentClass
的正确实例,以及如何获取其preferenceFragment
的列表?