首页 > 解决方案 > 模拟firebase android应用程序

问题描述

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

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

你能给我举个例子吗?

标签: javaandroidfirebasekotlinfirebase-realtime-database

解决方案


选项 1:如果您只是使用实时数据库,您可以做的一件事是在测试开始时调用 goOffline()。这将阻止所有网络活动,但由于延迟补偿,本地事件仍将触发。这有一些限制(例如,安全规则没有被强制执行,事务在大纲中不起作用),但可能会根据您的用例起作用。

选项 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。


推荐阅读