在销毁时测试活动的行为

时间:2017-02-27 14:30:54

标签: android android-espresso

我的课程参考了活动和资源:

public class MainActivityController {
        private MainActivity mainActivity;
        private Resources resources;

        MainActivityController(MainActivity mainActivity, Resources resources)
        {
            this.mainActivity = mainActivity;
            this.resources = resources;
        }

        void onDestroy() {
            mainActivity = null;
            resources = null;
        }

        Object getMainActivity() {
            return mainActivity;
        }

        Resources getResources() {
            return resources;
        }

        public void onHelloButtonClicked() {
            mainActivity.displayMessage(resources.getString(R.string.hello_message));
        }

方法onDestroy在Activity销毁时调用:

@Override
protected void onDestroy() {
    super.onDestroy();
    mainActivityController.onDestroy();
}

我想测试是否调用了MainActivityController中的方法onDestroy,并在活动销毁时清除所有引用

@RunWith(AndroidJUnit4.class)
    @LargeTest
    public class MainActivityInstrumentalTest{
        @Rule
        public ActivityTestRule<MainActivity> mainActivityTestRule = new ActivityTestRule<MainActivity>(MainActivity.class);


        @Test
        public void shouldDestroyMainActivityControllerWhenActivityDestroyed()
        {
            //TODO: check if onDestroy was invoked when activity destroyed
        }
    }

1 个答案:

答案 0 :(得分:0)

我不是测试专家,但我认为测试android框架方法不是你的工作。让它谷歌ingeneers。 活动生命周期方法也是其中的一部分。 考虑一下它有效。 您最好专注于测试您拥有的内容。与单元测试一样mainActivityController.onDestroy();