其他分享
首页 > 其他分享> > android-带有Firebase的Espresso-异步加载

android-带有Firebase的Espresso-异步加载

作者:互联网

拥有一个基于Firebase DB的应用程序-通过Firebase回调将项目异步加载(例如,加载到RecyclerView中)-我们将如何定义Espresso Check?

使用自定义的IdlingResource似乎有问题,因为ChildEventListener的onChildAdded回调不会告诉我们给定的子项是否是最后一个子项(或者是?).

有没有办法告诉Firebase什么时候是“空闲”?

随时认为它“空闲”是否符合Firebase的精神?

那么也许我们可以定义“本地空闲”?意味着没有任何本地发起的请求回调(以获取初始项)正在等待处理(与随时可能来自网络的新东西相对).

解决方法:

测试应该是封闭的:您不应该依赖外部数据源.

创建一种产品样式,在其中您将Firebase数据源替换为仅在测试中使用的虚假数据源.这使您可以使用假数据进行测试,以进行可重复的测试.

Leveraging product flavors in Android Studio for hermetic testing中对此概念进行了解释

它在Android Architecture Blueprints中实现

需要注意的是,您不会测试Firebase与应用程序之间的集成,但是这些测试通常是flaky.

标签:ui-testing,firebase-realtime-database,android-espresso,android
来源: https://codeday.me/bug/20191026/1935845.html