2017-11-21 4 views
0

私はSpecflowシナリオを生成するとの問題を抱えているを生成できません、と、ワードが持つシナリオ、ワード

シナリオはAndフレーズが含まれていますが、後に、それはWhenに変更するステップ定義スケルトンを生成します。

i.stack.imgur.com/6riSQ.png

+0

私は説明の間違いをしましたが、 "When" – jackersson

答えて

0

(オートステップジェネレータ)SpecFlow最初の2つの文のパラメータを考慮している数字を除いて、同じであることを検出します。最初の文に「first」という語を追加し、2番目の文に「second」という語を追加して、にステップ定義を生成してみます。実際にあなたが新しいステップを取得しますが、あなたがステップでAnd属性は表示されません秒から最初の文を区別する任意の単語:

Scenario: Add two numbers 
    Given I have entered first 50 into the calculator 
    And I have entered second 70 into the calculator 
    When I press add 
    Then the result should be 120 on the screen 

を追加することができます。 StepDefinitionBaseAttributeWhenAttributeによって実装されています)にはAnd属性が実装されておらず、読みやすくするためにGherkinファイルにのみ使用されているようです。 Specflowは、手順GivenWhenまたはThenに名前を付けるかどうかを気にしませんが、それは段階的に表現に一致して読みやすくするために使用すべきであることを

注意。 ご注文はとなります。

0

そのすべてが間違いありません。 Specflowは、キーワードを使用してBDDのアプローチです:GIVEN, WHEN, THEN.

あなたGIVEN条件はより複雑である場合には(より多くのステップ)あなたはANDキーワードを使用しますが、それでもGIVEN 1である自分自身をステップ実行することができます。そのおかげで、GIVENWHENTHENのキーワードが適合する限り、複数のテストとチェーンで同じ手順を使用できます。あなたが複数のキーワードで使用される1つのステップ定義を持つようにしたい場合は

さらに、あなたは、コードの重複を避けるために、同時にGIVENWHENTHENの属性とそのステップをマークすることができます。

また、Specflowを使用すると、フィーチャファイルからステップ定義にパラメータを渡すことができます。したがって、最初の2つのステップを1つにマージすることができます。

関連する問題