2010-12-07 3 views
0

Ich versuche, eine Funktion auszuführen, wo eine Suche auftritt. Ich fügte hinzu, die notwendigen Linien, die die ThinkingSphinx DokumentationSuche mit ThinkingSphinx in einer Gurke-Funktion gibt keine Ergebnisse zurück

require 'cucumber/thinking_sphinx/external_world' 
Cucumber::ThinkingSphinx::ExternalWorld.new 

empfiehlt Und auch Transaktionen und Nutzung DatabaseCleaners Abschneiden statt deaktiviert werden. Ich habe mein Feature-Setup, also nachdem ich einen Benutzer hinzugefügt habe, aktualisiere ich den Index für Sphinx, und dann mache ich eine Suche.

Die Suche gibt immer 0 Ergebnisse zurück, obwohl der Benutzer dort ist. Wenn ich die Zählung für User.find_by_first_name ("Tom") überprüfe. Count.should eq (1) ist erfolgreich.

Hier sind meine Schritte:

Updating Index

Given 'the Sphinx indexes are updated' do 
    # Update all indexes 
    ThinkingSphinx::Test.index 
    sleep(1.0) # Wait for Sphinx to catch up 
end 

Durchsuchung und -überprüfung Ergebnisse

Given /^if I search for "([^"]*)" which is a "([^"]*)", I have (\d+) results?$/ do |query,model,count| 
    Rails.const_get(model).search_count(query).should == count.to_i 
end 

Ich bin mit Rails 3.0.3, Gurke 0.9.4, und Gurken-Schienen 0.330

Antwort

1

Nichts scheint bisher fehl am Platz ... falls Sie es nicht schon sind, würde ich empfehlen, anstelle der offiziellen Dokumente my blog post zu verwenden (letzteres muss aktualisiert werden).

Auch: Haben Sie die Test/Gurken-Umgebung mit a different port für Sphinx zu Ihrem Entwicklungs-Setup? Wenn Sphinx nicht im Dev läuft, sollte das nicht im Weg stehen.

+0

Es stellte sich heraus, dass Sphinx die Entwicklungsdatenbank und nicht die Testdatenbank durchforstete. Danke für die Hilfe, das hat mich verrückt gemacht. – ryanbillingsley

+0

Danke pat für diese Antwort. Vielleicht sollte das besser dokumentiert werden, da es wie ein normales Problem zu sein scheint :) – fuzzyalej

+1

Kannst du uns mitteilen, wie du es behoben hast? – Edmund

Verwandte Themen