【问题标题】:Is it possible to reset/discard values fetched by Firebase Remote Config?是否可以重置/丢弃 Firebase 远程配置获取的值?
【发布时间】:2016-09-06 20:32:40
【问题描述】:

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

有没有办法告诉FIRRemoteConfig 忘记它保存的值,只使用你设置的默认值?

【问题讨论】:

  • 我很惊讶没有用于此的 API。这是一个非常有效的请求。

标签: ios firebase firebase-remote-config


【解决方案1】:

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

  1. 调用fetchWithCompletionHandler:fetchWithExpirationDuration:completionHandler:函数
  2. 致电activateFetched

您可以为您的单元测试做的是:使用全新安装,注释/删除activateFetched 函数调用,它将返回您设置的默认值。

【讨论】:

    【解决方案2】:

    获取值的目标是覆盖您的默认值,以防用户无法连接到 Firebase 服务器并获取配置。

    您需要做的是:

    1. 不要在单元测试中激活您获取的值,这会使您的默认值保持原样。这需要您更改应用逻辑以检查您是否在单元测试中。
    2. 定义一个用户属性(即“test_run”)并设置您的远程配置,以便只为该值为 false 的用户返回真实值,以及在为 true 时需要测试的值,这样更简洁。

    我对不使用真实值的测试的有效性有些担忧。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2019-02-21
      • 2020-07-28
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多