我需要测试所有可能的安装配置。配置保存在有时包含嵌套数组的字典数组中。
这是配置信息的示例(实际配置要长得多):
config = {'database': 'sqlite',
'useExisting': False,
'userCredentials': {'authType': 'windows',
'user': r'.\Testing',
'password': 'testing'
}
}
对于database
, 选项是['sqlite','mysql','oracle']
, 对于useExisting
, 选项是[True, False]
。我可以弄清楚如何通过这些排列。
但是对于userCredentials
,选项可能完全不同。如果authType
是database
,我需要额外的参数。我可以创建一个循环并创建所有有效组合的函数,但是我如何加入它们呢?还是有更好的方法来生成配置?
userCredentials
也可能有不同的设置。例如,我有两个用户帐户,testing1 和 testing2。我需要使用两个用户帐户运行测试,最好使用所有可能的配置。当像这样嵌套时,我无法弄清楚如何递归生成所有配置。