2013-08-27 2 views
0

검색 기능은 개발 및 프로덕션에서 잘 작동합니다. 하지만 Rspec 테스트를 실행할 때. 결과 배열은 항상 내 검색 작업 로그에서rspec 테스트를 사용할 때 Sunspot 검색 결과가 비어 있습니다.

비어, 나는 데이터를 색인하고 올바르게 가져되었습니다 볼 수 있습니다

Parameters: {"utf8"=>"✓", "ga_client_id"=>"", "search"=>"David"} 
SOLR Request (3.9ms) [ path=#<RSolr::Client:0x007fb7f9141f00> parameters={data:  fq=type%3AToon&sort=created_at_d+asc&q=David&fl=%2A+score&qf=name_text+author_text+toon_typetext+tags_text&defType=dismax&start=0&rows=9, method: post, params: {:wt=>:ruby}, query: wt=ruby, headers: {"Content-Type"=>"application/x-www-form-urlencoded; charset=UTF-8"}, path: select, uri: http://localhost:8981/solr/select?wt=ruby, open_timeout: , read_timeout: , retry_503: , retry_after_limit: } ] 
Toon Load (0.4ms) SELECT "toons".* FROM "toons" WHERE "toons"."id" IN (15550, 15551, 15552) AND (state in ('created','flagged')) 

내 컨트롤러에서

@search = Toon.solr_search do 
    fulltext params[:search] 
    order_by :created_at, :asc 
    paginate :page => params[:page], :per_page => 9 
    end 
    @toons = @search.results 

내 RSpec에 시험 : https://gist.github.com/jianbo/6360486 시험보기에서

<%= @search.inspect %> This output correctly as follow: 
    <Sunspot::Search:{:fq=>["type:Toon"], :sort=>"created_at_d asc", :q=>"papabear", :fl=>"* score", :qf=>"name_text author_text toon_type_text tags_text", :defType=>"dismax", :start=>0, :rows=>9}> 

    <%= @toons.inspect %> is empty array 

UPDATE는 난 그냥 인덱스 데이터베이스 명확한를 할 수없는 경우, 두 번 테스트를 실행 한 후, 내가 처음 실행 테스트에 있던 결과를 검색 할 수 것으로 나타났습니다.

+0

알아 냈습니까? 나는 같은 문제를 가지고있다. –

+0

테스트 환경에 sunspot.yml을 설치 했습니까? 테스트 : SOLR : 가 호스트 이름 : 로컬 호스트 포트 : 8981 LOG_LEVEL : 경고 경로 :/SOLR/테스트 당신이 연결하고있는 페이지에서 – user1883793

답변