Хук `before_scenario` не запоминает инициализированное значение переменной - PullRequest
0 голосов
/ 04 февраля 2019

Я использую приборы ведут себя , чтобы создать счетчик во время пробного запуска.Я инициализирую счетчик в before_all ловушке, а затем увеличиваю его в before_scenario каждый раз, когда выполняется сценарий.

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

Здесь я инициализирую context.i = 0 в before_all, но в before_scenario каждый раз, когда запускается сценарий, значение context.i снова устанавливается в 0.

environment.py

def before_all(context):
    context.i = 0

def before_scenario(context, scenario):
    context.i = context.i + 1

Я хочу увеличивать i при каждом запуске.Но он всегда установлен на 1.

1 Ответ

0 голосов
/ 12 февраля 2019

Пользовательские переменные контекста, определенные в before_scenario, доступны только в сценарии lifycycle.Когда бегун запускает следующий сценарий, context.i, определенный в последнем сценарии, больше не существует, поэтому он использует переменную, определенную в ловушке before_all.Я полагаю, вы не можете изменить контекстную пользовательскую переменную, определенную в ловушке before_all.

...