Kar*_*pka 4 android ui-testing android-espresso firebase-realtime-database
拥有一个基于 firebase DB 的应用程序 - 其中项目通过 Firebase 回调异步加载(例如到 RecyclerView) -我们将如何定义 Espresso check?
使用自定义IdlingResource似乎有问题,因为ChildEventListener的onChildAdded回调并没有告诉我们给定的孩子是否是最后一个(或者是吗?)。
有没有办法判断 Firebase 何时“空闲”?
随时将其视为“空闲”是否可能违反 Firebase 的精神?
那么也许我们可以定义“本地空闲”?这意味着没有本地发起的请求回调(以获取初始项目)待处理......(与可以随时来自网络的新内容相反)。
测试应该是密封的:您不应该依赖于外部数据源。
创建一种产品风格,用仅在测试中使用的虚假数据源替换 Firebase 数据源。这使您可以使用虚假数据进行测试,以进行可重复的测试。
此概念在利用 Android Studio 中的产品风味进行密封测试中进行了解释
需要注意的是,您不会测试 Firebase 和您的应用程序之间的集成,但这些测试往往是不稳定的。