Für einen Controller, der das Verhalten einer Sidebar bestimmt, muss ich mehrere URLs aufrufen; Die Seitenleiste ändert sich (a.o) basierend auf der Seite, auf der sie angezeigt wird.
%Vor% Dies schlägt jedoch mit ActionController::RoutingError: No route matches {:controller=>"sidebar", :action=>"http://test.host/"}
Kann ich get
eine URL oder einen Pfad als String angeben? Gibt es eine klügere Möglichkeit, die request.
-Daten festzulegen, anstatt sie zu holen?
Kann ich eine URL oder einen Pfad als Zeichenfolge erhalten?
Nicht in einem Controller-Test. Der Test-Controller verarbeitet tatsächlich keine URL, sondern erstellt den Test mit einem der fünf unterstützenden Anfragetypen (get, post, put, head, delete) und ruft dann die entsprechende Controller-Aktion auf. Weitere Informationen finden Sie in der Anleitung zum Testen von Rails-Anwendungen .
Was Sie suchen, ist ein Integrationstest oder ein " Spezifikationsspezifikation " in RSpec-Bedingungen.
Hier ist ein Workaround ... falls du das machen wolltest ... nicht unbedingt der beste Weg, aber ein Weg .. das funktioniert auf Rails 3.2 ...
%Vor%