java - 模拟firebase android应用程序
问题描述
我是编程新手,我必须使用数据库创建一个简单的应用程序。我正在使用 Firebase 实时数据库,但我不知道如何进行单元测试。
如何模拟数据库并推送一些假数据进行测试?
你能给我举个例子吗?
解决方案
选项 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。
推荐阅读
- cocoa - NSTextField 设置禁用的文本颜色
- java - 在 android 模拟器中执行 appium 脚本时收到意外响应:{"code":"ECONNRESET"}
- javascript - react中如何处理异步函数?
- reactjs - 如何制作像优步汽车一样的移动标记?
- android - 如何使基于 GluonMobile 的应用程序与新的 Google 64 位架构策略兼容?
- php - guzzle getbody 函数访问响应的不同元素
- javascript - 使用 FeathersJS 时如何显示 Auth0 登录页面
- angular - Angular 无法使用 Button 动态呈现生成的 HTML
- android - 在 Android Studio 中使用 Room 数据库关联表
- corda - Corda - 如何检查对方节点是否正在运行?