Behave BDD テストを開始すると、AmbiguousStep 例外が発生しやすいステップ定義の名前空間が存在しないことがわかりました。ここでのベストプラクティスは何ですか? テスト プロジェクトが大きくなると、これは問題になると思います。
これが私がやろうとしていることです:
機能-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
私の 2 つの機能 (機能 1と機能 2 ) の両方にステップ実行アクションがあります。これらの 2 つのステップは、それぞれのシナリオにおいて、互いに異なる意味を持ちます。それらはたまたま同じ名前です (例: take action )。競合を避けるために、ステップの名前を慎重に選択できることを知っています (たとえば、 feature2の「アクションを実行する」の代わりに「f2 のアクションを実行する」を使用します)。ただし、大規模なテスト プロジェクトでは、他の全員の機能のステップ名を全員が覚えていることを保証することはできません。BDD の初心者として、この問題を処理するために従うべきベスト プラクティスを探しています。