2017-01-10 3 views
0

Ich versuche nur, ein paar Tests zu laufen, und ich bekomme diese Fehlermeldung:schlägt Rspec aufgrund Reform Fehler auszuführen: "nicht definierte Methode` Feature‘für die Reform :: Form: Klasse (NoMethodError)"

undefined method `feature' for Reform::Form:Class (NoMethodError) 

Es passiert in /usr/local/bundle/gems/reform-2.2.3/lib/reform/form.rb:75, diese Zeile in form.rb ist das erste Mal das DSL-Wort feature wird verwendet. Natürlich passiert das nicht, wenn ich meine Schienen app, aber nur wenn ich rspec laufen lasse.

Es ist in der Einweg-Edelstein von Reform verwendet definiert. Zuerst dachte ich, dass das Problem mit einer älteren Version von rspec ist, aber selbst nachdem ich auf die neuesten Versionen aktualisiert habe, sind die Dinge immer noch kaputt. Das Lesen des Codes oder der Dokumentation hat mich nicht zu einem bestimmten Ladeverhalten geführt, das sich zwischen Tests und Anwendungsläufen unterscheidet.

Die Versionen von Edelsteinen ich verwende, sind: rspec-3.3.0, reform 2.2.3, Einweg-0.3.2

Hat jemand eine Ahnung?

- Update -

Nach dem gesamten Test-Framework zu entfernen (Entfernen von RSpec und dem Löschen aller zugehörigen Dateien) und die Installation wieder bekam ich zu dem Punkt, dass RSpec von selbst läuft, aber wenn meine Umgebung versucht, in laden die Testdatei schlägt bei demselben Fehler fehl.

Antwort

0

Nun, das Problem war, dass wir eine Überschreibung von Reforms Vertrag hinzugefügt haben und es nicht anmutig getan haben und somit nicht alle Dinge benötigten, die der ursprüngliche Reformvertrag erforderte. Als Update haben wir jetzt eine Basis Contract erstellt, die von Reform::Contract erbt, anstatt sie zu überschreiben und jetzt funktioniert alles gut. Der einzige Grund, warum wir es beim Ausführen von RSpec und nicht beim Ausführen von Rails c gefunden haben, liegt an der unterschiedlichen Ladereihenfolge der Dinge.

Verwandte Themen