特浓咖啡:接收广播事件

问题描述:

我一直在用Espresso写一些测试来测试一个片段。特浓咖啡:接收广播事件

我的片段有一个广播接收器,并将在接收广播事件时更新其视图。

但我找不到发送我的测试片段可以接收的广播事件的方式。

任何人都有解决方案或建议更好的体系结构?

我使用'com.android.support.test.espresso:espresso-core:2.2.2'

我仍然无法得到由测试片段收到我的广播事件,但这里是我使用的解决方法:

我手动调用,这将是该片段的方法呼吁接收广播事件。但我需要调用该方法从UIThread:

mActivityRule.runOnUiThread(new Runnable() { @Override public void run() { mFragment.onBroadcastEvent(); } });

或者:

InstrumentationRegistry.getInstrumentation().runOnMainSync(new Runnable() { @Override public void run() { mFragment.onBroadcastEvent(); } });

否则我得到的错误:

Only the original thread that created a view hierarchy can touch its views.