违规处理区 这样的问题有人遇见过吗?使用了 FramgentActivity,did not call through to super.onDestroy ()

云霄 · July 22, 2015 · Last by Monkey replied at July 22, 2015 · 655 hits

新版的的app 使用了 FramgentActivity

robotium测试代码 执行tearDown()时,报错:
Test run failed: Instrumentation run failed due to 'android.support.v4.app.SuperNotCalledException'

07-22 14:27:04.256: E/AndroidRuntime(22760): FATAL EXCEPTION: main
07-22 14:27:04.256: E/AndroidRuntime(22760): Process: com.abc.xyz, PID: 22760
07-22 14:27:04.256: E/AndroidRuntime(22760): java.lang.RuntimeException: Unable to destroy activity
{com.abc.xyz/com.abc.xyz.ui.main.HomeActivity}:
android.support.v4.app.SuperNotCalledException:
Fragment UserCenterFragment{41f50ba8 #2 id=0x7f0f00fe 2131690503} did not call through to super.onDestroy()

原来的 tearDown()

public void tearDown() throws Exception {
solo.finishOpenedActivities();
}

我修改了一下tearDown:

@Override
public void tearDown() throws Exception {
// solo.finishOpenedActivities();
while (solo.getCurrentActivity().getLocalClassName()
.equals("ui.main.HomeActivity") == false) {
solo.goBack();
}
solo.getCurrentActivity().finish();
}

一个testcase没问题 ; 2个testcase的话 第二个还是报
Test run failed: Instrumentation run failed due to 'android.support.v4.app.SuperNotCalledException'

PS: onDestroy已经添加 super.onDestroy();

@Override
protected void onDestroy() {
super.onDestroy();
doReallyStop(false);

mFragments.dispatchDestroy();
if (mLoaderManager != null) {
mLoaderManager.doDestroy();
}
}
此贴已暂时被屏蔽!

以下几种情况的帖子可能会进入此节点:

  1. 不使用 markdown 写作 : https://testerhome.com/markdown
  2. 标题/正文描述不清不楚;
  3. 无意义的发帖;
  4. 存在广告嫌疑;
  5. 招聘信息描述不清楚,未按照招聘节点的要求发帖,或职位信息不符合社区 用户群需求;
  6. 新注册的帐号发布产品推广贴是不允许的哦,付出和回报是相等的,当然如果你的产品确实非常有意思,或是和测试有关的东西,是不会进入这个栏目的。

如果你发现你的帖子到了此节点下面,请自我检查反省,并修改帖子内容。

新人请阅读:https://testerhome.com/topics/982
学会如何合理提问,请阅读:https://testerhome.com/topics/587

当你修改好以后,可以回帖 @屏蔽你的同学 ,我们将会审核,通过以后才可恢复到其他节点。

注!多次发现广告嫌疑的帐号,将会被禁用帐号。

共收到 1 条回复 时间 点赞

请说明上下文,请使用md的格式。谢谢

需要 Sign In 后方可回复, 如果你还没有账号请点击这里 Sign Up