У меня новая строка кода, которая должна быть окружена переключателем функций. Поскольку это служба (приложение Flask), которая при запуске запускает все свои соединения и соответствующую интеграцию с внешними источниками - у меня нет экземпляра LaunchDarkly, запускаемого при выполнении юнит-тестов.
Есть ли простой способ смоделировать и предопределить функцию переключения для юнит-тестов / интеграционных тестов в Python? Я использую pytest для написания юнит-тестов.
Пример моего кода:
if FeatureToggle.is_enabled("my-feature-toggle-name"):
*my code logic*
метод is_enabled()
impl:
@staticmethod
def is_enabled(flag_name: str, user_key: str=None, custom_params: dict=None) -> bool:
if user_key is None:
user_key = 'defaut_user_key'
return FeatureToggle.ld_client.variation(flag_name, {"key": user_key, "custom": custom_params}, False)
При запуске приложения FeatureToggle.ld_client
запускается с подходящим API-ключом для темного запуска, а затем позволяет мне использовать их метод variation()
.
Я понимаю, что могу изменить свой метод is_enabled()
, чтобы он возвращал предопределенное значение, когда нет экземпляра ld_client
, но я ищу более элегантный способ сделать это.
Спасибо!