Rspec, Devise, Factory girl - Wie meldet man sich als Werksbenutzer an? Rspec controller test?

8

Ich habe einen Posts-Controller und ich habe gerade Devise installiert, um eine Authentifizierung schnell und einfach hinzuzufügen. Bevor ich Devise installiert habe, habe ich einige Tests für die "neue" Aktion meines Post-Controllers erstellt. Nach der Installation von Devise sind meine Tests fehlgeschlagen, bis ich das

hinzugefügt habe %Vor%

Zeile zu meiner spec_helper.rb Datei.

Ich habe auch die Zeile

%Vor%

in meinem PostController.

Wenn ich nun meine Tests durchführe, gehen alle außer diesen 2:

%Vor%

Ich benutze auch Factory Girl. Der Fehler wird durch den Parameter exam_filter außer Parameter verursacht. Ich muss in der Lage sein, den Benutzer in rspec mit einem Fabrikbenutzer anzumelden. Wie signiere ich den Factory-Benutzer im Rspec-Controller-Test? Wie definiere ich den Factory-Benutzer?

Ich habe das in meinen factories.rb versucht:

%Vor%

Aber dann bekomme ich den Fehler:

%Vor%

Jede Hilfe wäre sehr willkommen. Danke.

    
Jack 28.11.2011, 19:47
quelle

1 Antwort

7

Ich empfehle dringend, Ihre Controller-Tests zu entfernen und statt dessen Gurken-Geschichten zu verwenden - RSpec ist nicht so praktisch, um Benutzeraspekte zu testen, wie es bei Gurken der Fall ist.

In Cucumber möchten Sie sich über die Benutzeroberfläche anmelden, um genau nachzuahmen, was der Benutzer tun wird. Ich tendiere dazu, das Gleiche in einer Controller-Spezifikation zu tun, obwohl manche Leute es vorziehen, stattdessen Dinge zu verspotten.

Wie für undefined method password_salt= haben Sie Ihre Test-DB migriert?

    
Marnen Laibow-Koser 29.11.2011, 17:04
quelle