ステップの一致はスコープ: https://github.com/techtalk/SpecFlow/wiki/Scoped-bindingsで判断できます。 これは静的なメカニズムです。 ように、このメカニズムを動的にする方法があります:(?属性)単一のシナリオでspecflowの動的ステップ定義の一致
- は私が で飾られ、このステップのための多くのステップの定義があります
- 二つ以上の同じステップを持っているが
- Iこのステップで設定されたキーセットのコンテキストとベースを変更するステップがあります。
これは、スコープのメカニズム+動的性からのタグ制限のようなものです。
私は異なるページで複数のテーブルを使ってアプリケーションをテストします。テーブルに行が(サブセットれる)
- :どうかは確認する必要があります。
私が書いている:
When I am on Page1
Then I expect that table contains
| Column1Name | Column2Name | Column3Name |
| row1id | true | address |
| row2id | true | address |
When I do some change action on rows
| Column1Name |
| row1id |
Then I expect that table contains
| Column1Name | Column2Name |
| row1id | false |
| row2id | true |
私は「私は、そのテーブルが含まれている期待する」ための唯一の1ステップの定義を持っています。 ステップで提供されたセルを検証します。 この手順は、異なる列とページに対して異なるページで使用されます。 これらのページには、異なるビジネスオブジェクトが表示されますが、列は異なりますが、UIはかなり一般的です。 これがなければ、各ページと各列の組み合わせのステップを記述する必要があります。
しかし、いつものように、「私にはそのテーブルが含まれていると思う」前に取らなければならない特定のアクションがあります。 例:
- 異なる検索フィルタを別のページで使用できます。
- 行動が変わる前に必要とされるタイムアウトは、それがシナリオは、不必要な情報でオーバーロードされていることになりますので、私は明示的にそれを書きたくはありません(サービス、キャッシュ、など)
UIに表示されます。
これは不可能であり、混乱させる可能性があるようです。なぜあなたはこれが欲しいと思いますか?あなたのユースケースは何ですか?見つけようとしているものより良い解決策があるかもしれません。 –
お返事ありがとうございます。私はそれが混乱するかもしれないとあなたに同意する。私は自分の質問を編集し、サンプルシナリオドラフトとコンセプトを追加しました。私は私の場合、多くの同じ/類似のステップ定義に書き込むことを避けたい。 – bwojdyla