如何等待 BroadcastReceiver 在 Expresso 测试中接收消息
How to wait for BroadcastReceiver to receive the message in a Expresso Tests
Expresso 不等待消息传递,导致在执行断言操作之前界面未更新。
如何强制等待?
在这种情况下似乎没有办法强制快递等待,或者至少我可以找到它。我找到的解决方案是使用方法 sendBroadcastSync
而不是 sendBroadcast
发送同步消息。
为了避免难闻的代码,我将 LocalBroadcastManager 包装在一个抽象中,并在测试中用它的模拟版本替换了包装器,因此它可以有不同的测试行为。
Expresso 不等待消息传递,导致在执行断言操作之前界面未更新。 如何强制等待?
在这种情况下似乎没有办法强制快递等待,或者至少我可以找到它。我找到的解决方案是使用方法 sendBroadcastSync
而不是 sendBroadcast
发送同步消息。
为了避免难闻的代码,我将 LocalBroadcastManager 包装在一个抽象中,并在测试中用它的模拟版本替换了包装器,因此它可以有不同的测试行为。