Python - Behave - 具有相同名称的两个不同步骤

时间:2016-09-21 11:17:34

标签: python-2.7 python-behave

我正在使用Behave

运行我的python测试

我想要做的是实现相同的步骤,例如“UserA在不同的步骤文件中调用UserB”并将测试指向正确的步骤教学时间。

例如:

.feature文件内容:

Scenario: User A calls User B
  Given UserA calls UserB

然后,在步骤文件夹中,我将有一个.py文件,其中包含:

@given('UserA calls UserB')
def step_impl(context):
   print('A call is being made')

另一个步骤.py文件将包含:

@given('UserA calls UserB')
def step_impl(context):
   print('A call is being made in another method')

我希望能够控制执行哪一个步骤。 有没有干净的方法呢?

1 个答案:

答案 0 :(得分:3)

在行为Github存储库中询问后找到答案:

区分步骤的最佳方法是使用测试阶段。

示例:

如果我想使用相同的.feature文件使用不同的实现编写相同的步骤,我可以打开两个目录:

dev_steps/
integration_steps/

并使用stage:

指向behave命令中的每一个
behave --stage=dev

behave --stage=integration