Hot从仪表测试发送广播意图
问题描述:
有两个应用程序在后台运行并使用广播意图相互通信。现在,我需要创建一些仪器测试来涵盖设备上的通信功能。Hot从仪表测试发送广播意图
在测试中我所需要的,例如,发送特定广播意图和检查广播接收器得到的(比较发送一个广播接收器有意向型等)
的问题是,当我尝试发送广播,寄存器广播接收机等在@Test
,我得到:
无法解析法 'registerReceiver(COM ... MyBroadcastReceiver,com.content.IntentFilter)'
无法解析法 'sendBroadcast(com.content.Intent)'
...
我应该怎么做才能够在仪器测试使用这样的功能?测试类是否应该从某些特定的类继承?
在此先感谢!
答
registerReceiver()
和sendBroadcast()
都是Context
的方法,所以您需要一个Context
实例来调用它们。
请看InstrumentationRegistry
这个类。
使用其静态getTargetContext()
方法来获取Context
的位置(因此您可以在该实例中调用接收器方法)。
例如:
InstrumentationRegistry.getTargetContext().sendBroadcast(someIntent);