Warning: file_get_contents(/data/phpspider/zhask/data//catemap/7/user-interface/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Android 使用Robotium测试onPause()、onDestroy()_Android_Robotium - Fatal编程技术网

Android 使用Robotium测试onPause()、onDestroy()

Android 使用Robotium测试onPause()、onDestroy(),android,robotium,Android,Robotium,我如何使用Robotium来验证我的活动是否正确地处理了onPause()、onDestroy()、onResume()和类似的调用 在我的机器人测试中,我可以称之为 solo.getCurrentActivity().onKeyDown(0, null); 但是我如何才能模拟一个正在被破坏和重新创建的活动呢?我看不到 solo.getCurrentActivity().onPause() 或 我可以使用的方法? 这不是Robotium设计的目的吗?使用一个可以访问仪器的测试用例基类,

我如何使用Robotium来验证我的活动是否正确地处理了
onPause()
onDestroy()
onResume()
和类似的调用

在我的机器人测试中,我可以称之为

solo.getCurrentActivity().onKeyDown(0, null);
但是我如何才能模拟一个正在被破坏和重新创建的活动呢?我看不到

solo.getCurrentActivity().onPause()   

我可以使用的方法?
这不是Robotium设计的目的吗?

使用一个可以访问
仪器的测试用例基类,然后使用和。

这将破坏您的活动并创建一个新的活动:

    getInstrumentation().runOnMainSync(new Runnable() {
        @Override
        public void run() {
            activity.recreate();
        }
    });
    setActivity(null);
    activity = getActivity();
由于调用了“activity.recreate()”,这只适用于API 11及更高版本。如果您不关心在这个测试中保存/恢复实例状态,您可以调用“activity.finish()”,它在所有版本上都可用

    getInstrumentation().runOnMainSync(new Runnable() {
        @Override
        public void run() {
            activity.recreate();
        }
    });
    setActivity(null);
    activity = getActivity();