我正在用生菜在 Django 中学习 BDD,同时我想到不同场景中的两个步骤碰巧具有相同名称的情况,例如,
Feature: a feature A
Scenario: a scenario S1
Given this is the conflicted step
Then chect the result of scenario S1
Feature: a feature B
Scenario: a scenario S2
Given this is the conflicted step
Then chect the result of scenario S2
上述步骤this是冲突的步骤,碰巧在多个不同含义的场景中定义。然后将针对此步骤的所有出现执行此步骤的以下测试代码。
@step(r'this is the conflicted step')
def mytest(step):
# do test
我的问题是,是否有一种命名空间机制允许我们为具有相同名称但在不同场景中的步骤创建不同的测试代码?例如,我期望以下测试代码或类似的东西:
@step(r'a feature A', r'this is the conflicted step')
def aaaa(step):
# do test
@step(r'a feature B', r'this is the conflicted step')
def bbbb(step):
# do other test