有没有更干净的方法来测试python3中的长参数列表?

时间:2018-12-06 20:27:54

标签: python python-3.x testing

我有一个带有** keywords参数的函数,并且我想遍历列表中的参数以测试该函数是否正常工作。但是,当我给参数提供键,值对(例如“ name = joe”)时,python只会在列表中抱怨语法。因此,我破解了一个解决方案,将参数封装在引号中,然后使用exec函数调用参数。但是,这似乎很麻烦,有没有更好的方法来用许多测试用例测试功能?这是我的代码:

df['field'] = df.apply(lambda row: get_median(row), axis=1)

如果我不喜欢用这种方法进行测试的原始设计,那么我可以接受其他选择! 谢谢!

1 个答案:

答案 0 :(得分:1)

为什么不传递参数字典的元组呢?

def function(**keywords):
    for key, value in keywords.items():
         print(value)

joe = "joe"
bug = "bug"  # if you want an indirection...

parameter_list = ({'name':joe, 'insect':bug}, {'name':joe})
for parameters in parameter_list:
    # place to test function
    function(**parameters)