2016-09-21 8 views
2

を持つ2つの異なるステップを私は何をしたいのか振るまいパイソン - 振る舞う - 同じ名前

と私のpythonのテストを実行している同じステップを実施され、例えば切り抜いステップファイル内とする「ユーザーAがユーザーBを呼び出します」正しいステップにテストを教える時間を教えてください。例えば

.featureファイルの内容:

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

Scenario: User A calls User B 
    Given UserA calls UserB 

そして、ステップフォルダに、私は含まれていますの.pyファイルを持っていますそして、次のものを含む別のステップ.pyファイル:

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

私はこれらのステップのどれが実行されるかを制御したいと思います。 これを行うためのきれいな方法はありますか?

手順を区別するための最良の方法は、テスト・ステージを使用することです:

+0

[mcve](http://stackoverflow.com/help/mcve)の例を表示できますか? –

+1

@ NathanMcCoy私は何をしたいかのアイデアを説明するための簡単な例を追加しました – Shizzle

+0

それはすべて構造的に整理されているので、あなたは混乱しないようにしています。なぜこれが欲しいのですか?違いはなんですか? a)両方の状況で正しい方法でコールを実行できるように、ステップを書き直します。 b)実際には別のステップであるため、ステップ名を変更してください。 – Chai

答えて

1

は振る舞いのGithubリポジトリに尋ねた後、答えを見つけました。

例:振る舞いコマンドでそれらのそれぞれに

dev_steps/ 
integration_steps/ 

とポイント:私は同じ.featureファイルを使用して、異なる実装と同じ手順を書きたい場合は

私は2つのディレクトリを開くことができます使用段階:

behave --stage=dev 

または

behave --stage=integration