是否可以重置/放弃Firebase Remote Config提取的值?

时间:2016-09-06 20:32:40

标签: ios firebase firebase-remote-config

我在Firebase远程配置之上创建了一个图层,我的应用用它决定功能是打开还是关闭,或者获取自定义值。我已经围绕这个编写了一些单元测试。但似乎当人们使用该应用并从网络获取值时,它们会被保存并覆盖您使用FIRRemoteConfigsetDefaults上设置的默认值。这会导致我的单元测试出现问题。

有没有办法让FIRRemoteConfig忘记它保存的值,只使用你在其上设置的默认值?

2 个答案:

答案 0 :(得分:1)

doc here中所述,从服务器获取值并使用它们,您需要:

  1. 致电fetchWithCompletionHandler:fetchWithExpirationDuration:completionHandler:函数
  2. 致电activateFetched
  3. 您可以为单元测试做的是:使用全新安装,评论/删除 activateFetched函数调用,它将返回您设置的默认值。

答案 1 :(得分:0)

获取值的目标是覆盖您的默认值,如果用户无法连接到firebase服务器并获取配置,则默认为默认值。

您需要做的是:

  1. 不要在单元测试中激活您获取的值,这样会保留默认值。这将需要您更改您的应用程序逻辑以检查您是否在单元测试中。
  2. 定义一个用户属性(即“test_run”)并设置您的远程配置,仅为具有此值的用户返回false值,并为真实时测试所需的值提供真实值,这是更清晰的。
  3. 我对一个不使用实际值的测试的有效性有一些担忧。