如何在Firebase数据库中分离测试和生产数据?

pej*_*alo 19 unit-testing ios firebase firebase-realtime-database

每个Firebase项目仅包含一个用于数据的JSON树.最佳实践要求测试应在与生产数据不同的数据库上运行.实现这一目标的最简单方法是什么?

我考虑过的一些事情:

  • 在同一个项目中使用多个子树进行测试和生产 - 这看起来很混乱,测试和生产数据很难分开.
  • 设置多个Firebase项目以进行测试和制作 - 这似乎是与Android相关的这个问题的最佳答案.但我不确定如何GoogleService-Info.plist在Xcode中设置多个文件,并根据我的应用程序的配置在它们之间切换.

小智 12

创建多个Firebase项目.每个项目都有自己的plist文件.

FIRApp有自定义配置选项.下载测试/调试项目的plist,重命名并加载如下.

#if DEBUG
    NSString *filePath = [[NSBundle mainBundle] pathForResource:@"GoogleService-Info-dev" ofType:@"plist"];
    FIROptions *options = [[FIROptions alloc] initWithContentsOfFile:filePath];
    [FIRApp configureWithOptions:options];
#else
    [FIRApp configure];
#endif
Run Code Online (Sandbox Code Playgroud)

可在此处找到更详细的说明

  • 差不多一年后,我想确认对于现在使用Firebase的每个新项目,我创建了两个单独的Firebase项目:一个用于测试/ dev,另一个用于生产. (3认同)