behatでFooContext
クラスを使用するための適切なアプローチは何ですか?使用したコンテキスト - 正しいアプローチ
それは何docsである:
コンテキスト・クラスのためのシンプルなニーモニックがある:「コンテキスト内で機能のテスト」。 (...)、あなたはかなりこれらの機能をテストします方法は、あなたがそれらをテスト文脈に依存しています。
ドキュメントにはあなたが速く作成できるように、私は唯一のダミーコンテキストファイルであるためには思わFeatureContext
行動テスト。
コンテキストクラスはFeatureContextと呼ばれるべきです。これは、Behatインフラストラクチャ内の簡単なコンベンションです。 FeatureContextは、デフォルトスイートのコンテキストクラスの名前です。
フィーチャーごとにコンテキストファイルでなければならないと私は直接言っていません。
ドキュメントで唯一の本当の他の例は、ApiContext
またはWebContext
ような状況です。私もCommandFeatureと別のCommandLineProcessContextがわかった何
default:
suites:
web_features:
paths: [ %paths.base%/features/web ]
contexts: [ WebContext ]
api_features:
paths: [ %paths.base%/features/api ]
contexts: [ ApiContext ]
。
私はテストする多くの機能を持っているので、コンテキストファイルが非常に高速になります。
次に、フィーチャ例ごとにMarco Pivettaによってコンテキストファイルが表示される可能性があります。Aggregate as Contextを使用しています。
は、機能foo.feature
ごとに単一のコンテキストファイルを持っているのは良いアイデアですか?あるいは、コンテキストファイルは、文書ApiContext
またはWebContext
のような環境コンテキストと考えられていますか?
感謝をすることができます。 'ApiContext'については、私は20エンドポイント(成長)APIを持っています。ですから、すべてのエンドポイントに対して単一の「ApiContext」ファイルではなく、エンドポイントごとにコンテキストを作成することをお勧めしますか? –
@FabianPicone私はそうすることを強く勧めます。おそらく、あなたはUIからモデルへのAPIコンテキスト(説明されたすべての部門のアドバイスが有効なマクロ部門として)と各APIコンテキストをサブジェクトとアクションで分割することができます(この場合アクションは適切ではなく、 1つの主題につき単一のAPIコンテキスト)。複数のAPIサブジェクトが必要な場合は、それらをスイートにまとめることができます。 – DonCallisto