2016-10-31 11 views
0

"スーパー"機能を作成できますか? 複数の機能が同じバックグラウンドステップを使用していますが、別のファイルに作成して代わりに実行できますか?Javaキュウリ:複数の機能の同じ背景

+0

理由は、同じ機能のファイルで同じ手順を使用して、シナリオはありますか?または、それらはフィーチャファイルにまたがっていますか?最初の場合は、 "バックグラウンド"手法を使用します。 – Grasshopper

+0

2番目のもの、それはまさに質問です:) – MichaelK

+0

その場合、フックを使用し、シナリオにタグを付け、適切にフックする必要があります。代わりに[QAF-gherkin factory](https://qmetry.github.io/qaf/latest/gherkin_client.html)を使用し、testNGリスナを作成します。 – user861594

答えて

0

「スーパーフィーチャファイル」の概念はありません。ここでは、他のフィーチャファイルで使用できるバックグラウンドの手順について説明します。 Rubyでは、別のシナリオからステップを呼び出すことはできますが、Javaではサポートされていません。

タグを使用してBefore hookを使用すると、目的を達成できます。このbefore hookメソッドでは、再利用可能なコードを記述することができます。必要なシナリオに同じタグを追加し、cucumberoptionsのタグでテストを実行することを忘れないでください。

大きな欠点は、機能ファイルにステップが表示されなくなることです。それを見つけるためにコードに入る必要があります。特にシナリオを書いているコードになじみのない人やコードにアクセスできない人は、問題があります。背景の手順は、技術設定されている場合は、それを使用することができますねなど

0

は、あなたがにそれを有効にすることです彼らは道これを共有する

Background: 
    Given foo 
    And bar 
    And baz 
    ... 

のようになりますどの共有したい背景を考えてみましょう命名の問題。我々がする必要があるのは、背景全体に単一の名前を付けることだけです。この愚かな例では、あなたがその何かを発見したこれを行うには

Given 'wibble' do 
    foo 
    bar 
    baz 
    ... 
end 

として今、私たちはただ

Background: 
    Given wibble 

を行うと、(理想的にヘルパーメソッドを使用して)ことを実装することができ

「をwibble」を使用することができますドメイン(wibble)にとって重要です。また、あなたの問題を解決し、より複雑な背景で使用できるものを作成しました。

Background: 
    Given wibble 
    And wobble 

それのための必要がないので、何も「スーパー機能」はありませんがある:)

関連する問題