RunTimeError: ActionController :: RackDelegation in rspec 2.10.1 für Rails 3.1.4 Application Controller

8

In unserer App rails 3.1.4 wird rspec verwendet, um die öffentliche Methode require_signin im Application Controller zu testen. Hier ist die Methode require_signin:

%Vor%

Hier ist der Code rspec :

%Vor%

Das obige rspec erzeugt einen riesigen mehrseitigen Fehler, der wie folgt beginnt:

%Vor%

Was könnte mit dem rspec Code falsch sein? Vielen Dank.

    
user938363 12.06.2012, 01:19
quelle

3 Antworten

3

Ich habe diesen Fehler gefunden und festgestellt, dass ich eine Umleitung auf dem Controller ausgelöst habe, indem ich eine Hilfsmethode aufgerufen habe, die ich testen wollte, aber ich habe noch keine Testanfrage instanziiert. Der Aufruf von get :index vor dem Aufruf der Erwartung löste den Fehler.

%Vor%     
tfwright 17.06.2013 19:22
quelle
1

Wenn Sie die Aktionsmechanik überprüfen möchten, sollten Sie should_receive vor einem send Aufruf wie diesem verwenden

%Vor%     
Rustam A. Gasanov 07.10.2013 11:02
quelle
0

Vielleicht nicht ganz nützlich, aber ich kam hierher, nachdem ich denselben Fehler bekommen habe. Ich habe mit einer bestandenen Testsuite begonnen, einige Änderungen vorgenommen und dann Fehler wie:

erhalten %Vor%

Nachdem ich den Fehler näher betrachtet habe, ist mir aufgefallen, dass irgendwo gesagt wurde:

%Vor%

Ich hatte gerade die Option :confirmable in Devise hinzugefügt und festgestellt, dass alle Benutzer, die ich erstellt habe, die ich anmeldete, unbestätigt waren und sich daher nicht erfolgreich anmelden konnten. Ich musste confirmed_at Time.now hinzufügen. zu meiner Fabrik- / Vorrichtungsschaffung für Benutzer. In Ihrem Beispiel scheint es, als ob Sie versuchen, zu testen, wenn Sie nicht eingeloggt sind, also bin ich mir nicht sicher, ob dies notwendig ist.

    
Anthony Panozzo 10.09.2012 22:11
quelle