首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >使用Robotium测试onPause()、onDestroy()

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

Stack Overflow用户
提问于 2011-10-20 23:19:39
回答 2查看 955关注 0票数 2

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

在我的Robotium测试中,我可以调用

代码语言:javascript
复制
solo.getCurrentActivity().onKeyDown(0, null);

但是我如何模拟一个被销毁和重新创建的活动呢?我什么也没看到

代码语言:javascript
复制
solo.getCurrentActivity().onPause()   

代码语言:javascript
复制
solo.getCurrentActivity().onDestroy()

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

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2011-10-21 00:28:43

使用可以访问Instumentation的测试用例基类,然后使用Instrumentation#callActivityOnPause()Instrumentation#callActivityOnDestroy()

票数 2
EN

Stack Overflow用户

发布于 2014-01-14 19:47:08

这将销毁您的活动并创建一个新活动:

代码语言:javascript
复制
    getInstrumentation().runOnMainSync(new Runnable() {
        @Override
        public void run() {
            activity.recreate();
        }
    });
    setActivity(null);
    activity = getActivity();

由于调用了"activity.recreate()“,这只适用于API11和更高版本。如果您不关心在此测试中保存/恢复实例状态,则可以调用"activity.finish()“,它在所有版本中都可用。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/7838197

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档