如何通过Robolectric检测到以编程方式调用onBackPressed?

Jer*_*oen 7 android unit-testing robolectric

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

far*_*iku 12

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());
Run Code Online (Sandbox Code Playgroud)