Rails testen: assert render-Aktion
Wie kann ich einen test schreiben, zu behaupten, dass die Aktion new
gerendert wird?
def method
...
render :action => :new
end
Ich bin auf der Suche nach so etwas wie die folgenden Zeilen, aber zu behaupten, dass die Aktion genannt wurde, nicht in der Vorlage:
assert_equal layout, @response.layout
assert_equal format, @request.format
Ich weiß, ich kann nicht tun @response.action
Vielen Dank im Voraus!
Deb
Du musst angemeldet sein, um einen Kommentar abzugeben.
Ansicht wäre gerendert, die Aktion genannt.
Versuchen Sie dies:
Für die Zukunft Menschen, die finden das die richtige Methode ist:
Lassen Sie uns sagen, Sie haben eine controller-Aktion für erstellen Sie wie folgt:
Und hier ist das standard-Gerüst "Beiträge#neue' Ansicht
Nun, wenn ein Beitrag erfolgreich erstellt, die Sie wollen, umgeleitet werden, aber wenn es scheitert, wir wollen nur neu Rendern die NEUE Aktion. Der test unten verwendet, was unser wichtigster Mann DJTripleThreat sagte
assert_template
.Wenn das immer noch nicht schweben Ihr Boot, ich würde sogar noch hinzufügen eines assert_tag, um sicherzustellen, dass einige der Ansicht kommt, so dass Sie wissen, dass es angezeigt/gerendert, um die Endbenutzer.
Hoffe, das hilft.
Als Schienen 5.0.0, können Sie testen, ob die Aktion ist richtig dargestellt, mit der Prüfung der Vorlage angezeigt.
Müssen Sie zunächst die
rails-controller-testing
Juwel, um Ihre Gemfile (wie es extrahiert wurde, die außerhalb der Rails seit version 5). Dann, in den test-benutzen Sie einfach:assert_template :new