Java 模拟firebase android应用程序

Java 模拟firebase android应用程序,java,android,firebase,kotlin,firebase-realtime-database,Java,Android,Firebase,Kotlin,Firebase Realtime Database,我是编程新手,我必须用数据库创建一个简单的应用程序。我使用的是Firebase实时数据库,我不知道如何进行单元测试 我如何模拟数据库并将一些虚假数据推送到那里进行测试 你能给我举个例子吗 选项1:如果您只是使用实时数据库,那么您可以做的一件事就是在测试开始时调用goOffline()。这将阻止所有网络活动,但由于延迟补偿,本地事件仍将触发。这有局限性(例如,安全规则不强制执行,事务不起作用),但可能根据您的用例而起作用 选项2:退房 选项3:或者对于与模仿不同的另一种方法,您可以尝试环境“沙箱”

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

我如何模拟数据库并将一些虚假数据推送到那里进行测试


你能给我举个例子吗

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

选项2:退房

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

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

例如:

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

在android应用程序中,您将构建一个配置标志,允许您在“开发”和“生产”之间切换。如果标志为“DEV”,则只会写入Firebase中的“DEV”根节点,而不影响生产。

欢迎使用SO!Firebase具有可用于测试的。如文所述,这个问题非常广泛。您应该更具体地说明您尝试过的内容和不适用的内容。我已经实现了将book和author添加到firebase实时数据库的方法。我不知道如何实现该方法的单元测试。所以,如果我选择第一个选项,我将使用对实时数据库的引用,但调用goOffline()会导致更改不会被保存?我该如何称呼goOffline()?FireBaseReference.goOffline()?