Python 如何在没有连接的情况下模拟功能切换以暗启动?

Python 如何在没有连接的情况下模拟功能切换以暗启动?,python,unit-testing,launchdarkly,Python,Unit Testing,Launchdarkly,我有一个新的代码行,它必须被一个功能切换包围。因为它是一个服务(Flask应用程序),在启动时启动所有连接并与外部源进行相关集成,所以在执行单元测试时,我没有LaunchDarkly运行的实例 有没有一种简单的方法可以模拟和预定义Python中单元测试/集成测试的特性切换?我正在使用pytest编写单元测试 我的代码示例: if FeatureToggle.is_enabled("my-feature-toggle-name"): *my code logic* 已启用()方法imp

我有一个新的代码行,它必须被一个功能切换包围。因为它是一个服务(Flask应用程序),在启动时启动所有连接并与外部源进行相关集成,所以在执行单元测试时,我没有LaunchDarkly运行的实例

有没有一种简单的方法可以模拟和预定义Python中单元测试/集成测试的特性切换?我正在使用pytest编写单元测试

我的代码示例:

if FeatureToggle.is_enabled("my-feature-toggle-name"):
     *my code logic*
已启用()
方法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_客户端
使用适当的api键启动,以暗启动,然后允许我使用其
variation()
方法。
我知道,当没有
ld\u客户机的实例时,我可以更改我的
is\u enabled()
方法以返回预定义值,但我正在寻找更优雅的方法


谢谢

所以在调查和建议我的同事之后,这可以通过使用图书馆来完成


当我有完整的工作解决方案时,我会更新答案,所以在调查和建议我的同事后,这可以通过使用库来完成


当我有完整的工作解决方案时,我将更新答案。我还想补充一点,除了使用模拟库之外,您还可以实例化客户端以从文件[1]读取,而不是连接到LaunchDarkly API。通过这种方式,您可以拥有一组预先确定的测试值,用于测试目的


[1]

我还想补充一点,除了使用模拟库之外,您还可以实例化客户端以从文件[1]读取,而不是连接到LaunchDarkly API。通过这种方式,您可以拥有一组预先确定的测试值,用于测试目的

[1]