破坏活动时的测试行为



我有一个参考活动和资源的类:

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正在调用:

@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
        }
    }

我不是测试专家,但我认为测试Android Frameworks方法不是您的工作。让它给Google Ingeneers。活动生命周期方法是其中的一部分。认为它正在起作用。您最好专注于测试自己拥有的东西。像单位测试mainActivityController.onDestroy();

最新更新