如何将函数作为python中的参数传递?我想执行以下代码之类的事情。
我的目标是传递不同的参数以测试一个功能。
def __internal_function(inputs):
a,b,c,d = inputs
new_value_of_b = copy.deepcopy(b)
name = b['name']
age = b['age']
weight = b['weight']
height = b['height']
new_value_of_b2 = [name, age, weight, height]
new_value_of_b3= new_value_of_b['weight']['unit'] = 'cm'
del new_value_of_b['age']
return new_value_of_b,new_value_of_b2,new_value_of_b3
@pytest.mark.parametrize('values',__internal_function,'expected_code',[100,200,300])
assert func(__internal_function)== expected_code
如果您使用两个变量作为参数,则正确的语法为:
@pytest.mark.parametrize(('values','expected_code'),(_internal_function,[100,200,300]))
如果其输出是一个可观的,则可以将函数用作参数。