Python 如何在没有连接的情况下模拟功能切换以暗启动?
我有一个新的代码行,它必须被一个功能切换包围。因为它是一个服务(Flask应用程序),在启动时启动所有连接并与外部源进行相关集成,所以在执行单元测试时,我没有LaunchDarkly运行的实例 有没有一种简单的方法可以模拟和预定义Python中单元测试/集成测试的特性切换?我正在使用pytest编写单元测试 我的代码示例: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
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]