我有一个使用 Sunspot 和 Solr 进行搜索功能的 rails 应用程序。我目前正在编写功能测试(使用 Rails 自己的测试套件),以验证当我在参数中使用搜索词调用搜索控制器时,是否返回了正确的记录。
目前我有:
test "should_return_some_records" do
get :index, :term => "search term here"
assert_response :success
assert more stuff ...
end
当我运行 rake test:functionals 时,这个测试会出现“ActionView::Template::Error”,因为 Sunspot 从它的搜索块返回了一个空的结果数组。
如果我rake sunspot:reindex
从我的 searchs_controller_test 的设置方法中运行,则测试通过。但是,这意味着该文件中的每个测试也会运行它的操作,这会使事情变得非常缓慢。
有人可以给我一些关于让 Sunspot 为我的测试环境索引我的固定装置的最佳方法的建议,而不必在每次测试之前都这样做。
非常感谢提前。