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
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
Danke pat für diese Antwort. Vielleicht sollte das besser dokumentiert werden, da es wie ein normales Problem zu sein scheint :) – fuzzyalej
Kannst du uns mitteilen, wie du es behoben hast? – Edmund