如何从另一个场景中的步骤执行场景?
How to execute a scenario from a step in another scenario?
下面是我想在另一个场景中执行一个场景的例子。
我该怎么做?
我已经知道我使用 execute_steps()
.
执行其他步骤
我的环境:
macOS v10.14.1,Docker v18.06.1-ce,Django v2.1.4,behave v1.2.6,behave-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从场景名称中获取场景并分步的?
没有。这种行为是故意的,以消除场景A在场景B调用期间跌倒的情况下的碰撞。
Behave API 只有一种方法可以从当前步骤调用另一个步骤:execute_steps()
官方教程,具体示例:macro step
不幸的是,您不能从场景 B 调用场景 A。Behave 不支持类似的东西。但是您在这里想要的是在场景 B 的第一步中执行场景 A 中定义的所有步骤。我们只需在步骤文件中创建一个专用步骤即可。
@given(‘all steps of scenario A is completed’)
def step_execute_scenario_A(context):
context.execute_steps(u‘’’
Given step~ A
When step~ A
Then step~ A ‘’’)
场景:场景B
Given all steps of scenario A is completed
When ~
Then ~
下面是我想在另一个场景中执行一个场景的例子。
我该怎么做?
我已经知道我使用 execute_steps()
.
我的环境: macOS v10.14.1,Docker v18.06.1-ce,Django v2.1.4,behave v1.2.6,behave-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从场景名称中获取场景并分步的?
没有。这种行为是故意的,以消除场景A在场景B调用期间跌倒的情况下的碰撞。
Behave API 只有一种方法可以从当前步骤调用另一个步骤:execute_steps()
官方教程,具体示例:macro step
不幸的是,您不能从场景 B 调用场景 A。Behave 不支持类似的东西。但是您在这里想要的是在场景 B 的第一步中执行场景 A 中定义的所有步骤。我们只需在步骤文件中创建一个专用步骤即可。
@given(‘all steps of scenario A is completed’) def step_execute_scenario_A(context): context.execute_steps(u‘’’ Given step~ A When step~ A Then step~ A ‘’’)
场景:场景B
Given all steps of scenario A is completed
When ~
Then ~