Cucumber では、機能全体に対してバックグラウンド ステップを実行できますか? それで、すべてのシナリオで繰り返されるわけではありませんか?
検索エンジンでいくつかのテストを実行していますが、検索エンジンにテスト データを事前にシードする必要があります。このデータの生成と処理にはかなりの時間がかかる可能性があるため (私は Elasticsearch を使用しており、インデックスを作成する必要があります)、このバックグラウンドを 1 回だけ実行したいと思いますが、同じ機能でのすべてのテストに対してのみ実行します。
キュウリで可能ですか?
私はMongoDBを使用しているため、トランザクションではなく切り捨てを使用していることに注意してください。各テストの後にDatabaseCleanerが自動的に実行されていると思います。
編集 :
はい、Rails の Ruby ステップで Cucumber を使用しています
EDIT2:具体例
検索エンジンが常に関連する結果を返すことをテストする必要があります (たとえば、「買い手」を検索する場合、「買い手」、「購入」、「購入」などの結果を返す必要があります (ES 構成と関係があります)、および他のコンテキスト情報は正しく更新されます (サイドバーなど)。
括弧内にヒット数を含むカテゴリ/フィルターがあります。ユーザーがフィルターで遊んでいるときに、これらの数が更新されるようにする必要があります)
このために、検索エンジンに多数の結果を事前にシードし、同じ入力に基づくすべてのテストを実行します。少し違うことをするだけの「例」節がよくありますが、同じシードに基づいています