InsrumentationTestRunner onException()未调用

时间:2014-07-14 13:57:37

标签: android automated-tests

onException()类中有一个InstrumentationTestRunner方法,只要被测试的应用程序由于无法处理的异常而崩溃,就应该调用该方法。

由于某种原因,当应用程序崩溃是由onException()的{​​{1}}方法中执行的代码导致onReceive()时,BroadcastReceiver未从{{1}接收广播}}

换句话说,如果我打电话:

LocalBroadcastManager

然后,以下IntentFilter intentFilter = new IntentFilter(); intentFilter.addAction(ACTION_CRASH); LocalBroadcastManager.getInstance().registerReceiver(mReceiver, intentFilter); LocalBroadcastManager.getInsance().sendBroadcast(new Intent(ACTION_CRASH)); 方法中的代码不会调用onReceive()

onException()

另一方面,如果public void onReceive() { Object nullPointerCauser = null; nullPointerCauser.toString(); } 通过致电BroadcastReceiver获得广播,则会调用sendBroadcast()。如果我打电话:

onException()

然后

IntentFilter intentFilter = new IntentFilter();
intentFilter.addAction(ACTION_CRASH);
Activity.this.registerReceiver(mReceiver, intentFilter);
Activity.this.sendBroadcast(new Intent(ACTION_CRASH));

会导致应用程序崩溃,并在public void onReceive() { Object nullPointerCauser = null; nullPointerCauser.toString(); }

中调用onException()

任何人都有这样的问题吗?知道是什么原因引起的吗?任何解决方案的想法?

0 个答案:

没有答案