标签: android unit-testing broadcastreceiver android-espresso
Expresso不会等待传递消息,导致在执行操作断言之前未更新接口。 如何强迫它等待?
答案 0 :(得分:1)
在这种情况下似乎没有办法迫使快递等待,或者至少,我能找到它。我找到的解决方案是使用方法sendBroadcastSync而不是sendBroadcast发送同步消息。
sendBroadcastSync
sendBroadcast
为了避免臭代码,我将LocalBroadcastManager包装在一个抽象中,并在测试中用它的模拟版本替换了包装器,因此它可以有不同的测试行为。