Ich möchte Feature-Spezifikationen für die Suche nach Patienten in meiner Practice Management App erstellen.Testen von Suchkick mit RSpec
Bisher habe ich das Netz gesucht und verfolgt haben vorgeschlagenen Lösungen aus:
http://bitsandbit.es/post/11295134047/unit-testing-with-tire-and-elastic-search#disqus_thread
und
https://github.com/karmi/tire/wiki/Integration-Testing-Rails-Models-with-Tire
Beide Artikel Konfigurationen vorgeschlagen für Elasticsearch spec_helper.rb und Reifen. Da Searchkick auf Tyrus basiert, habe ich die Lösungen auf die Klasse Patient angewendet, die das einzige Modell ist, mit dem ich Searchkick verwende.
Allerdings bekomme ich einen 'NoMEthodError' für jede der Konfigurationen. Zum Beispiel mit dem folgenden Code:
spec_helper.rb
RSpec.configure do |config| do
.
.
.
config.before :each do
Patient.index.delete
Patient.create_elasticsearch_index
end
config.before :all do
Patient.index_name('test' + Patient.model_name.plural)
end
end
bekomme ich folgende Fehlermeldung:
Failure/Error: Unable to find matching line from backtrace
NoMethodError:
undefined method `index_name'
Gleiches gilt für die Methoden 'index' geschieht und 'create_elasticsearch_index'
Ich bin ziemlich neu in RoR und bin ehrlich gesagt nicht sicher, was ich hier falsch machen könnte, außer vielleicht für die Annahme, dass ich Tyres Lösungen auf verwenden könnte Suchkick. So wird jede Hilfe sehr geschätzt!
Danke für den Tipp :) Ich recherchierte über die Links, die Sie bereitgestellt haben. Ich habe gesehen, dass die index_name-Methode immer noch in Searchkick verwendet wird, aber in Form von 'searchkick index_name:' new_index_name '', anstatt die Methode direkt auf der Klasse aufzurufen. Ich entschuldige mich, wenn mir die Antwort hier entgeht. Mein Problem liegt jedoch im Kontext einer Testumgebung und nicht in den Klassenmodellen, die in den Searchkick-Dokumentationen enthalten sind. – mfamador
Entschuldigung, aber ich verstehe Ihren Kommentar nicht. Was hat der Kontext der Testumgebung mit der Verwendung der API zu tun? –
Ja, der letzte Satz klang verwirrend. Ich war im Wesentlichen auf der Suche nach Testdokumenten zur Einrichtung von RSpec. Der Ersteller von seekkick hat die folgende Lösung veröffentlicht. Aber danke für die Hilfe, immer noch! : D – mfamador