如何确定BDD中的步骤优先级

时间:2016-10-13 16:38:03

标签: python testing bdd pytest

请考虑以下步骤:

# Step A
@when(parsers.parse('I edit user {user} in {account}'))
@when('I edit user <user> in <account>')
def when_I_edit_user_in_account(user, account):

# Step B
@when(parsers.parse('I edit user {user}'))
@when('I edit user <user>')
def when_I_edit_user(user):

我想知道BDD如何确定选择哪个步骤。在我的步骤示例中,即使我的步骤是:

,它也总是选择步骤B.
When I edit user Tom in Main Account

它总是选择最短的匹配步骤吗?有没有办法改变这个?这个问题有没有已知的设计模式?

我尝试的事情:

  • 更改代码中的步骤顺序(思考可能与找到的第一个匹配)
  • 更改步骤verbiage(有效但不是真正的解决方案)

设计步骤有误吗?我应该总是强制通过账户吗?

备注:pytest-bdd http://pytest-bdd.readthedocs.io/en/latest/

0 个答案:

没有答案