如何等待BroadcastReceiver在Expresso测试中接收消息

时间:2017-08-13 23:23:36

标签: android unit-testing broadcastreceiver android-espresso

Expresso不会等待传递消息,导致在执行操作断言之前未更新接口。 如何强迫它等待?

1 个答案:

答案 0 :(得分:1)

在这种情况下似乎没有办法迫使快递等待,或者至少,我能找到它。我找到的解决方案是使用方法sendBroadcastSync而不是sendBroadcast发送同步消息。

为了避免臭代码,我将LocalBroadcastManager包装在一个抽象中,并在测试中用它的模拟版本替换了包装器,因此它可以有不同的测试行为。