Как выполнить сценарий из шага в другом сценарии? - PullRequest
0 голосов
/ 21 декабря 2018

Ниже приведен пример, в котором я хочу выполнить сценарий в другом сценарии.Как я могу это сделать?
Я уже знал, что я выполняю другие шаги, используя execute_steps().

Моя среда: macOS v10.14.1, Docker v18.06.1-ce, Django v2.1.4, ведите себя v1.2.6, ведите себя-django v1.1.0

Scenario: scenarioA
    Given ~
    When ~
    Then ~

Scenario: scenarioB
    Given scenarioA is completed # I want to exexute scenarioA here.
    When ~
    Then ~

Есть ли API для запуска сценария от имени сценария?
Есть ли API, который получает сценарии из имен сценариеви делит их на шаги?

Ответы [ 2 ]

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

К сожалению, вы не можете вызвать сценарий A из сценария B. Поведение не поддерживает ничего подобного.Но здесь вы хотите выполнить все шаги, определенные в сценарии A на первом этапе сценария B. Мы просто делаем это путем создания выделенного файла шагов в шаге.

@ задано («все шаги сценария А завершены») def step_execute_scenario_A (контекст): context.execute_steps (u '' 'данный шаг ~ A Когда шаг ~ A Затем шаг ~ A' '')

Сценарий: сценарий B

Given all steps of scenario A is completed
When ~
Then ~
0 голосов
/ 11 января 2019

Нет. Это поведение сделано намеренно, чтобы исключить коллизии в случаях, когда сценарий A падает во время вызова по сценарию B.

В Behave API есть только один метод для вызова другого шага из текущего шага.: execute_steps ()

Официальное руководство с точным примером: шаг макроса

...