Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/ruby-on-rails/52.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/ruby/22.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Ruby on rails 如何测试轮胎索引结果?_Ruby On Rails_Ruby_Ruby On Rails 3_<img Src="//i.stack.imgur.com/RUiNP.png" Height="16" Width="18" Alt="" Class="sponsor Tag Img">elasticsearch_Tire - Fatal编程技术网 elasticsearch,tire,Ruby On Rails,Ruby,Ruby On Rails 3,elasticsearch,Tire" /> elasticsearch,tire,Ruby On Rails,Ruby,Ruby On Rails 3,elasticsearch,Tire" />

Ruby on rails 如何测试轮胎索引结果?

Ruby on rails 如何测试轮胎索引结果?,ruby-on-rails,ruby,ruby-on-rails-3,elasticsearch,tire,Ruby On Rails,Ruby,Ruby On Rails 3,elasticsearch,Tire,我想测试我的搜索方法,但是如何测试到索引的\u json结果 这是我的测试: describe Search do before do Question.index.delete Question.tire.create_elasticsearch_index app = create :app, name: "Marketing", id: 76 @question1 = create :question, content: "Some super ques

我想测试我的搜索方法,但是如何测试
到索引的\u json
结果

这是我的测试:

describe Search do
  before do
    Question.index.delete
    Question.tire.create_elasticsearch_index
    app = create :app, name: "Marketing", id: 76
    @question1 = create :question, content: "Some super question?", app: app
    @question2 = create :question, content: "Some extra question?", app: app
  end

  describe "#results" do
    it "returns matched results" do
      Search.new("Some", \[76\]).results.should == \[@question1, @question2\]
    end
  end
end
这就是我收到的错误:


首先,您并没有在发布的代码中真正测试
到_index_json
——您正在测试对搜索结果的一些期望。这很好,实际上是更合理的做法:),但仍然是另一回事

其次,在集成测试中,请确保在索引测试数据后调用
Tire::Index#refresh
,以便可以立即进行搜索——默认延迟为1秒

第三,在代码中创建一些测试模型,然后期望返回这些精确的对象。要使Tire的行为类似于此,请使用
:load=>true
选项(从数据库加载模型),或者不要设置对象等价性的期望值,而是测试模型的某些属性(例如
内容