コマンドラインで制御する場合は、別の回答で示唆しているのはTymoteusz Paulです。要約すると、機能とシナリオをマークするタグを使用して、--tags
を使用して、使用したタグに基づいて機能やシナリオを選択または選択解除することができます。このドキュメントでは、遅いシナリオに@slow
とマークし、次にbehave --tags=slow
を使用して遅いテストを実行するか、またはbehave --tags=-slow
を使用して低速テストを除外する例を示します。 --tags
が許可する構文については、documentationを読むことをお勧めします。
上記の方法では、@skip
とbehave --tags=-skip
を使用できます。これにより、@skip
とマークされたものは除外されますが、すべての呼び出しで余分な引数を含める必要があります。 @skip
それ自体ではありませんコマンドラインで引数を必要とせずに、Behaveにスキップするよう指示しますか?
あなたは、その後、追加の引数を必要とせず、それが付いて機能やシナリオをスキップします振るまい1.2.5のように、あなたがあなたenvironment.py
ファイルに機能を構築しなければならない@skip
タグをしたい場合。what this answerとは逆に、ではなく、を内蔵しています。私たちは、このような機能を追加:
def before_feature(context, feature):
if "skip" in feature.tags:
feature.skip("Marked with @skip")
return
# Whatever other things you might want to do in this hook go here.
def before_scenario(context, scenario):
if "skip" in scenario.effective_tags:
scenario.skip("Marked with @skip")
return
# Whatever other things you might want to do in this hook go here.
.skip
メソッドの引数はスキップの理由です。
シナリオでタグテストを実行する場合は、常に.effective_tags
を使用します。 .effective_tags
フィールドは、フィーチャに設定されたタグを継承します。ここにある場合は、機能には@skip
があれば強制的にシナリオがスキップされるため、違いはありません。しかし、一般的な原則に従えば、シナリオのタグチェックでは.effective_tags
を使用して、タグの継承が機能するようにすることをお勧めします。
待機! tutorialには@skip
が組み込まれているとは言えませんか?
いいえ、このチュートリアルでは、@wip
の隣に@skip
という名前のリストが表示されるため、少し誤解を招くことがあります。@wip
は内蔵されているので、@skip
はあまりにも込み入っていますか?いいえ、彼らはリストにあります "定義済みまたは頻繁に使用されるタグ"です。 @skip
は単に「よく使う」です。有益な方法で「スキップ」という言葉を使用して、何かをスキップしたものとしてマークするためによく使用されます。タグがBehaveに組み込まれている必要はありません。
私は自分のシナリオの1つに@skipを追加しようとしましたが、期待通りにBehave 1.2.5では無視されました。 '@wip'は、[ここ](https://pythonhosted.org/behave/tutorial.html#controlling-things-with-tags)で指摘されているようにあらかじめ定義されています。しかし、どこにでも '@ skip'の言及がありません。 – Louis
申し訳ありませんが、スキップはシナリオでのみ機能します。だから、@ skipタグを置いてシナリオをスキップすることはできますが、全機能をスキップすることはできません。 モードの詳細について: https://jenisys.github.io/behave.example/tutorials/tutorial11.html – shakyaabiral
チュートリアルでは、「あらかじめ定義された、またはしばしば使用されるタグ」と書かれています。 '@skip'と' @slow'は "あらかじめ定義されていません"。それらは「しばしば使用される」。言い換えれば、あなたが自由に '@ skip'タグを使用することができます。これは' --tags'オプション*を使って制御することができます。他のタグと同じように*することができます。 http://stackoverflow.com/a/36518200/1906307)を参照してください。 '@skip'や' @ potato'や '@ asdf'という名前のタグでスキップすることができます。 '@skip'はよりわかりやすいものの、特別なステータスはありません。 – Louis