尝试了解围绕轮胎宝石进行测试的语法。RSpec&轮胎宝石:测试轮胎::结果::收集
该控制器规范(默认从脚手架模板)未能
describe "GET index" do
it "assigns all reports as @reports" do
report = Report.create! valid_attributes
get :index, {}, valid_session
assigns(:reports).should eq([report])
end
end
因为
Failure/Error: assigns(:reports).should eq([report])
TypeError:
can't convert Tire::Results::Collection to Array (Tire::Results::Collection#to_ary gives Tire::Results::Collection)
如何编写规范,这样,预计轮胎结果集合,而不是一个数组活动记录对象?或者,有没有更好的方法去解决这个问题?
FWIW-
class ReportsController < ApplicationController
def index
@reports = Report.search(params)
end
...
和模型:
class Report < ActiveRecord::Base
include Tire::Model::Search
include Tire::Model::Callbacks
...
def self.search(params)
tire.search(load: true) do
query { string params[:query] } if params[:query].present?
end
end
...
<蟋蟀.....> – Meltemi