Aus Gründen außerhalb meiner Kontrolle kann ich RSpec nicht zum Testen in meinem aktuellen Projekt verwenden. Ich versuche Devise Reset Password zu testen, und ich kann mir nicht vorstellen, dass etwas funktioniert.
Folgendes habe ich bisher:
%Vor%Ich habe oben einige Kommentare hinzugefügt, wo die Dinge scheinbar nicht funktionieren. Hat jemand einen Einblick oder eine Idee, wie man das besser testen kann?
Ich habe herausgefunden, dass Sie den Benutzer neu laden müssen, nachdem Sie die E-Mail zum Zurücksetzen des Passworts gesendet haben und wenn put
t die /user/password
Route ist. Sie müssen auch das Passwort-Token von der E-Mail erhalten, da es sich von dem in der Datenbank gespeicherten Token unterscheidet.
Devise testet PasswordsController
intern. Ich wollte meine PasswordsController
mit zusätzlichen Funktionen testen und ging zu Controller-Tests von Devise Hilfe beim Erstellen von Tests für die Standardfunktionalität von Devise, dann Hinzufügen von Assertionen für meine neue Funktionalität in den Testfall.
Wie in anderen Antworten erwähnt, müssen Sie die reset_password_token
erhalten. Anstatt eine gelieferte E-Mail wie in einer anderen Lösung zu analysieren, können Sie das Token auf die gleiche Weise wie Devise erhalten:
Sehen Sie sich die Lösung von Devise für PasswordControllerTest
an:
Ссылка .
Tags und Links ruby-on-rails devise ruby-on-rails-4 minitest