開始玩Behave BDD測試,我發現沒有步驟定義命名空間的東西,這很容易導致AmbiguousStep異常。這裏有什麼最佳實踐?我認爲當你的測試項目越來越大時,這會成爲一個問題。behave(BDD)AmbiguousStep Error
這裏是我想要做的事:
功能1:
Feature: feature1
Scenario: f1s1
When take action
Then it's ok
功能2:
Feature: feature1
Scenario: f2s1
When take action
Then it's ok
foo4feature1.py:
@when('take action')
def step_impl(context):
assert True
@then("it's ok")
def step_impl(context):
assert True
bar4feature2.py:
@when('take action')
def step_impl(context):
assert True # some other logic here according to feature2
我的兩個特徵(特徵-1和特徵-2)都具有步驟採取行動。這兩個步驟在他們的場景中彼此具有不同的含義。他們恰好是同名(例如,採取行動)。我知道我可以仔細選擇步驟的名稱(例如,在功能2中使用「採取f2的動作」而不是「採取行動」)以避免衝突。然而,在一個大型測試項目中,您無法確保每個人都記住其他人功能中的步驟名稱。作爲BDD事物的新手,我正在尋找最佳實踐來解決這個問題。