8

我正在使用 Robolectric 进行单元测试。在我的应用程序中,我有一个以编程方式调用 onBackPressed 的方法。但是我不知道如何测试这个方法是否可以用 RoboLectric 正确执行。我已经在设备上对其进行了测试,并且该方法运行良好。但是现在:如何使用 Robolectric 验证这一点?

4

1 回答 1

14
activity.initialize();
Button button = (Button) activity.findViewById(R.id.button_with_on_back_pressed_called);
ShadowButton buttonShadow = (ShadowButton) Robolectric.shadowOf(button);
OnClickListener onClickListener = buttonShadow.getOnClickListener();
onClickListener.onClick(button);

ShadowActivity activityShadow = Robolectric.shadowOf(activity);
assertTrue(activityShadow.isFinishing());
于 2013-10-11T19:14:08.770 回答