我正在使用Robolectric 3.8以意图启动活动,然后测试布局是否已正确设置。
这是我的测试代码:
Activity activity = Robolectric.buildActivity(MyModuleActivity.class, intent).create().visible().get();
Switch inputSwitch = (Switch)activity.findViewById(R.id.input_status_switch);
assertFalse("Switch should be off to start", inputSwitch.isChecked());
我正在使用Robolectric: Driving the Activity Lifecycle中描述的.visible()调用,否则activity.findViewById将返回null。
我在我的项目中测试了其他类似的活动,但它们运行良好。我确信在onCreate方法中调用了setContentView()。
我的其他测试(没有.visible())可以正常工作:
Activity inputActivity = Robolectric.buildActivity(InputModuleActivity.class).create().get();
assertThat(ShadowToast.getTextOfLatestToast(), equalTo("Unable to load config"));