ruby-on-rails – 如何等待ES索引在Rspec和Capybara完成?

前端之家收集整理的这篇文章主要介绍了ruby-on-rails – 如何等待ES索引在Rspec和Capybara完成?前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
如何避免在该示例中使用sleep 1等待ES索引完成?
describe Question do
  before do
    create :question,content: "Some test question",app: @app
    create :question,content: "Some other question",app: @app
    sleep 1
  end

  it_behaves_like "search results found" do
    let(:query) { "Some" }
    let(:results) { ["Some test question","Some other question"] }
  end
end

解决方法

调用’refresh’API端点.如果您正在使用Tire和ActiveModel集成功能,那么它将是:
Question.tire.index.refresh

或者,您可以使用curl直接命中端点.

猜你在找的Ruby相关文章