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直接命中端点.

相关文章

validates:conclusion,:presence=>true,:inclusion=>{...
一、redis集群搭建redis3.0以前,提供了Sentinel工具来监控各...
分享一下我老师大神的人工智能教程。零基础!通俗易懂!风趣...
上一篇博文 ruby传参之引用类型 里边定义了一个方法名 mo...
一编程与编程语言 什么是编程语言? 能够被计算机所识别的表...
Ruby类和对象Ruby是一种完美的面向对象编程语言。面向对象编...