java - 模拟 firebase android 应用程序

标签 java android firebase kotlin firebase-realtime-database

我是编程新手,我必须使用数据库创建一个简单的应用程序。我正在使用 Firebase 实时数据库,但我不知道如何进行单元测试。

如何模拟数据库并推送一些假数据进行测试?

你能举个例子吗?

最佳答案

选项 1:如果您只是使用实时数据库,您可以做的一件事是在测试开始时调用 goOffline()。这将阻止所有网络 Activity ,但由于延迟补偿,本地事件仍将触发。这有局限性(例如,不强制执行安全规则,并且交易无法进行),但可能会根据您的用例而起作用。

选项 2:查看 https://github.com/azell/quasar-firebase

选项 3:或者对于与模拟不同的另一种方法,您可以尝试环境“沙箱”。

您可以为每个环境创建不同的根节点,而不是将所有内容存储在同一根节点下。

例如:

{
DEV : { data : {'all_your_dev_data_lives_here'}}
PRODUCTION : { data : {'all_your_production_data_lives_here'} 
}

在您的 Android 应用程序中,您将构建一个配置标志,让您可以在“DEV”和“Production”之间切换。如果标志为“DEV”,它只会写入 Firebase 中的“DEV”根节点,而不会影响 Production。

关于java - 模拟 firebase android 应用程序,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/59073785/

相关文章:

java - (Java 代码)返回输入字符串中出现次数最多的字符

android - 从图像或 <LinearLayout>/<GridView> 等创建平铺背景

android - - 类型 'GoogleServicesTask' 字段 'intermediateDir' 没有相应的 getter 已用 @OutputDirectory 注释

node.js - Firebase 在 promise 触发之前等待加载数据库数据

Java Logger 未记录到 Netbeans 中的输出

java - 在 Java 中实现客户端-服务器套接字通信协议(protocol)

java - 如何仅对 JTable 的一部分禁用双击?

java - getSystemService() 不适用于适配器类

java - 代号一重写 Android onNewIntent Activity 方法

android - 使用最新版本的 Firebase list 合并失败