2

如何在 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
4

1 回答 1

0

如果您使用两个变量作为参数,正确的语法是:

@pytest.mark.parametrize(('values','expected_code'),(_internal_function,[100,200,300]))

如果函数的输出是可迭代的,则可以将函数用作参数。

于 2019-03-01T20:20:19.387 回答