【问题标题】:Espresso with Firebase - async loading带有 Firebase 的 Espresso - 异步加载
【发布时间】:2017-01-13 18:46:50
【问题描述】:

拥有一个基于 firebase DB 的应用 - 通过 Firebase 回调异步加载项目(例如加载到 RecyclerView) - 我们如何定义 Espresso 检查

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

有没有办法判断 Firebase 何时“空闲”?

随时将 Firebase 视为“闲置”是否违背了 Firebase 的精神?

那么也许我们可以定义“本地空闲”?这意味着没有本地发起的请求回调(用于获取初始项目)处于待处理状态...(与随时可能来自网络的新内容相反)。

【问题讨论】:

    标签: android firebase-realtime-database android-espresso ui-testing


    【解决方案1】:

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

    创建一种产品风格,将 Firebase 数据源替换为仅用于测试的假数据源。这使您可以使用虚假数据进行测试,以进行可重复的测试。

    这个概念在Leveraging product flavors in Android Studio for hermetic testing中有解释

    它在Android Architecture Blueprints中实现

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

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2013-04-07
      • 2021-01-03
      • 2017-02-25
      • 1970-01-01
      • 1970-01-01
      • 2021-08-17
      • 1970-01-01
      相关资源
      最近更新 更多