ERHALTEN Sie eine URL oder einen Pfad als String in einem RSPET-Test

8

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/"}

fehl

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?

    
berkes 12.07.2011, 14:34
quelle

2 Antworten

15
  

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.

    
zetetic 16.07.2011, 01:01
quelle
7

Hier ist ein Workaround ... falls du das machen wolltest ... nicht unbedingt der beste Weg, aber ein Weg .. das funktioniert auf Rails 3.2 ...

%Vor%     
user151975 10.05.2012 22:00
quelle

Tags und Links