有没有办法在本地模拟Firebase数据库?

时间:2017-05-24 05:48:06

标签: android firebase firebase-realtime-database

我认为问题标题是自我解释的,但以下是更多细节

背景

我在Firebase实时数据库的帮助下开发了一款基于Android的游戏。概念很简单,所有玩家都连接到我通过推入firebase数据库创建的单个房间。现在每个玩家都将子值监听器附加到该节点。现在我可以更新此节点中的游戏状态,每个人都可以实时更新。

问题

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

问题

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

2 个答案:

答案 0 :(得分:1)

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

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

请注意,这不是官方推荐的编写单元测试的方法;完全嘲笑Firebase客户端库被认为更好。但是,它对于集成测试非常有用。

有一个有用的帖子here,涵盖了一些测试问题。

答案 1 :(得分:0)

您可以使用 Firebase本地仿真器套件,它具有许多模块(包括实时数据库)。在此处查看其官方文档:

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