Как передать функцию в качестве параметра параметризации pytest? - PullRequest
0 голосов
/ 01 марта 2019

Как я могу передать функцию в качестве параметра в 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

1 Ответ

0 голосов
/ 01 марта 2019

Если вы используете две переменные в качестве параметров, правильный синтаксис:

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

Вы можете использовать функцию в качестве параметра, если ее вывод является итеративным.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...