Можно ли сбросить / отменить значения, полученные с помощью Firebase Remote Config?

Я создал слой поверх Firebase Remote Config, который мое приложение использует, чтобы решить, включена ли функция или нет, или для получения пользовательских значений. Я написал несколько модульных тестов по этому поводу. Но похоже, что когда люди используют приложение и получают значения из сети, они сохраняются и переопределяют значения по умолчанию, которые вы установили в FIRRemoteConfig с помощью setDefaults. Это вызывает проблемы с моими модульными тестами.

Есть ли способ заставить FIRRemoteConfig забыть о сохраненных значениях и просто использовать значения по умолчанию, которые вы для него установили?


person Jared Egan    schedule 06.09.2016    source источник
comment
Я удивлен, что для этого нет API. Это очень верный запрос.   -  person X.Y.    schedule 24.02.2018


Ответы (2)


Как объясняется в здесь, чтобы получить значения с сервера и использовать их, чтобы:

  1. вызвать функцию fetchWithCompletionHandler: или fetchWithExpirationDuration:completionHandler:
  2. позвонить activateFetched

Что вы можете сделать для своего модульного теста: использовать новую установку, комментарий / удалить вызов функции activateFetched, и он вернет значение по умолчанию, которое вы установили.

person Sistr    schedule 07.09.2016

Целью полученных значений является переопределение ваших значений по умолчанию, которые в основном существуют на тот случай, если пользователь не может подключиться к серверам firebase и получить конфигурацию.

Что вам нужно сделать, это либо:

  1. Не активируйте полученные значения в модульном тесте, это оставит ваши значения по умолчанию такими, какие они есть. Это потребует от вас изменения логики приложения, чтобы проверить, участвуете ли вы в модульном тесте.
  2. определите свойство пользователя (например, «test_run») и настройте вашу удаленную конфигурацию так, чтобы она возвращала реальные значения только для пользователей с этим значением на false и значениями, которые вам нужны для тестирования, когда true, что является более чистым.

Однако у меня есть некоторые опасения по поводу валидности теста, в котором не используются реальные значения.

person jirungaray    schedule 07.09.2016