【问题标题】:Is there way to emulate Firebase Database locally?有没有办法在本地模拟 Firebase 数据库?
【发布时间】:2017-10-24 07:12:43
【问题描述】:

我认为问题标题是不言自明的,但以下是更多细节

背景

我正在 Firebase 实时数据库的帮助下开发一款基于回合的安卓游戏。概念很简单,所有玩家都连接到我通过推送到 firebase 数据库创建的单人房间。现在每个玩家都将子值侦听器附加到该节点。现在我可以在这个节点更新游戏状态,每个人都会得到实时更新。

问题

在开发阶段,我仍在尝试不同的方法来构建这些数据并在 android 客户端中实现。我不在任何公司或企业工作,因此我必须使用自己的移动互联网(互联网数据成本高昂)。再加上很多次我在没有互联网连接的地区。这减少了测试任何网络相关测试所花费的时间。

问题

有没有办法可以在本地模拟(或模拟)firebase 数据库?所以一旦它工作正常,我可以在真实网络上测试它吗?任何关于此的想法或提示都会有所帮助。

【问题讨论】:

  • 你看到this了吗?
  • @AlexMamo,不,我没有。我去看看。
  • 云功能模拟器也模拟实时数据库吗?

标签: android firebase firebase-realtime-database


【解决方案1】:

听起来您可能想试试firebase-server。它基本上是一个可以在本地运行的替代实时数据库服务器。

由于 Firebase 客户端库中内置了一些奇怪的限制,您需要编辑操作系统的主机文件以使 3 部分域名(如 localhost.firebaseio.test)解析为 localhost。有些人通过将模拟注入客户端库找到了解决此问题的方法,但这对我来说从来没有用过;我认为它只适用于旧版本。

请注意,这不是官方推荐的编写单元测试的方式;完全模拟 Firebase 客户端库会更好。不过,它对于集成测试非常有用。

有一个有用的线程here 涵盖了一些测试问题。

【讨论】:

    【解决方案2】:

    您可以使用 Firebase Local Emulator Suite,它有许多模块(包括实时数据库)。在此处查看他们的官方文档:

    https://firebase.google.com/docs/emulator-suite/connect_and_prototype?database=RTDB

    【讨论】:

      猜你喜欢
      • 2022-10-18
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2020-06-08
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多