Rspec-rails: HTTP-Header scheinen nicht richtig an die Anfrage übergeben zu werden

Erstellt am 2. Juni 2010  ·  5Kommentare  ·  Quelle: rspec/rspec-rails

Stellen Sie eine Anfrage wie folgt:

post :create, {}, { "X-BLAH" => "blah" }

endet mit einem Anforderungsobjekt mit den angegebenen Headern, die in "rack.session" verschachtelt sind:

#<ActionController::TestRequest:0x105e02698 ... "rack.session"=>{"X-BLAH"=>"blah"} ... >

So wird beispielsweise das Senden eines HTTP_AUTHORIZATION-Headers nicht von authenticate_or_request_with_http_basic abgeholt.

Ich verwende die Edelsteine:

gem "rails", "3.0.0.beta3"
gem "rspec", "2.0.0.beta.9"
gem "rspec-rails", "2.0.0.beta.9.1"

Ben

ps. Dies geschah nicht mit rspec 2 beta4

Hilfreichster Kommentar

Was ist mit Anforderungsspezifikationen?

request kommt auf Null?

Vielen Dank,
Dan

Alle 5 Kommentare

Ab Beta.8 delegieren Controller-Spezifikationen an ActionController::TestCase::Behavior (http://github.com/rails/rails/blob/master/actionpack/lib/action_controller/test_case.rb).

Um Header zu setzen, setzen Sie diese direkt auf dem Request-Objekt:

 request.env["X-BLAH"] = "bla"
 Beitrag: erstellen, ....

Super, danke für die schnelle Antwort. Wo finde ich Unterlagen?

Was ist mit Anforderungsspezifikationen?

request kommt auf Null?

Vielen Dank,
Dan

Woops sieht aus, als ob #request_via_redirect den Trick macht

http://guides.rubyonrails.org/testing.html#helpers -available-for-integration-tests

Dan

War diese Seite hilfreich?
0 / 5 - 0 Bewertungen