Hot从仪表测试发送广播意图

问题描述:

有两个应用程序在后台运行并使用广播意图相互通信。现在,我需要创建一些仪器测试来涵盖设备上的通信功能。Hot从仪表测试发送广播意图

在测试中我所需要的,例如,发送特定广播意图和检查广播接收器得到的(比较发送一个广播接收器有意向型等)

的问题是,当我尝试发送广播寄存器广播接收机等在@Test,我得到:

无法解析法 'registerReceiver(COM ... MyBroadcastReceiver,com.content.IntentFilter)'

无法解析法 'sendBroadcast(com.content.Intent)'

...

我应该怎么做才能够在仪器测试使用这样的功能?测试类是否应该从某些特定的类继承?

在此先感谢!

registerReceiver()sendBroadcast()都是Context的方法,所以您需要一个Context实例来调用它们。

请看InstrumentationRegistry这个类。

使用其静态getTargetContext()方法来获取Context的位置(因此您可以在该实例中调用接收器方法)。

例如:

InstrumentationRegistry.getTargetContext().sendBroadcast(someIntent);