私は自分のサイトのホームページでElasticSearchを使用しています。私の受け入れテストでは、ユーザーがログインすると、ホームページにリダイレクトされます。
ただし、テストでESを使用するとコストがかかるため(インデックスの作成と削除が必要)、ユーザーがホームページにアクセスするたびにESを使用する必要はありません。
テストにメタデータがある場合にのみ、実際のES検索を実行したいと思います。
config.before(:each) do
if example.metadata[:elastic]
Model.create_elasticsearch_index
end
end
scenario "Results should be ordered by distance", :elastic do
# tests...
end
したがって、テストに:elasticメタデータがない場合は、検索を「モック」し、ESを使用しないようにする必要があります。
それを達成するための良い方法は何でしょうか?