pytest - передать значение от одной тестовой функции к другой в тестовом файле - PullRequest
2 голосов
/ 05 мая 2020

Описание проблемы : Я хочу передать значение, возвращаемое одной функцией, другой функции из моего тестового файла.

test_ab c .py

@pytest.fixture(scope='function')
def hold_value():
    def _value(resp):
        return resp
    return _value


@when(parsers.cfparse('user did something with value "{a}" and "{b}" and “{c}"'))
def func1(hold_value, a, b, c):
    response = do_something(a,b,c)
    hold_value(response)

@then('user validate if above step is correct')
def func2(hold_value):
    call_another_func_and_pass_above_response(hold_value)=> what can I do here to get value from fixture

Это тестовый файл, в котором я пытался создать прибор для хранения значения, возвращаемого одной функцией, а затем использовать его в других функциях

Я не уверен, правильно ли это сделать, я хотите передать значения от одного шага теста к другому.

Кто-нибудь может помочь мне достичь желаемого результата

1 Ответ

1 голос
/ 06 мая 2020

Я могу найти решение, используя контекст как приспособление

@pytest.fixture(scope='function')
def context()
      return {}


@when(parsers.cfparse('user did something with value "{a}" and "{b}" and “{c}"'))
def func1(context, a, b, c):
    response = do_something(a,b,c)
    context[‘response’] = response

@then('user validate if above step is correct')
def func2(context):
    call_another_func_and_pass_above_response(context.get(‘response’))
...