我刚开始尝试使用Robolectric,由于我正在尝试从Google开发者页面中的动态单/双窗格片段示例,我认为将其集成到那里并进行一些基本测试。我想要测试的第一件事是单/双窗格处理是否正确。因此,它基本上归结为:
仅供参考:是的,在模拟器中一切都运行良好。
- 小设备&竖屏 -> 单窗格
- 大设备&横屏 -> 双窗格
if (findViewById(R.id.exercise_detail_container) != null) [..]
看起来对于Robolectric来说,它总是双面板。
因此,我的单面板测试非常简单:
@Config(emulateSdk = 18)
@RunWith(RobolectricTestRunner.class)
public class SinglePaneTest {
private ExerciseListActivity activity;
private FragmentManager fragmentManager;
@Before
@Config(qualifiers = "port-small")
public void setup() {
this.activity = Robolectric.buildActivity(ExerciseListActivity.class).create().resume().get();
this.fragmentManager = activity.getFragmentManager();
}
@Test
@Config(qualifiers = "port-small")
public void testSinglePane() {
assertNull(activity.findViewById(R.id.exercise_detail_container));
}
}
但是测试失败了。
有人可以告诉我为什么吗?这应该完美地正常工作,不是吗?仅供参考:是的,在模拟器中一切都运行良好。