Rspec-rails: HTTP рд╢реАрд░реНрд╖рд▓реЗрдЦ рдЕрдиреБрд░реЛрдз рдХреЗ рд▓рд┐рдП рд╕рд╣реА рдврдВрдЧ рд╕реЗ рдкрд╛рд░рд┐рдд рдирд╣реАрдВ рдкреНрд░рддреАрдд рд╣реЛрддреЗ рд╣реИрдВ

рдХреЛ рдирд┐рд░реНрдорд┐рдд 2 рдЬреВрди 2010  ┬╖  5рдЯрд┐рдкреНрдкрдгрд┐рдпрд╛рдБ  ┬╖  рд╕реНрд░реЛрдд: rspec/rspec-rails

рдРрд╕рд╛ рдЕрдиреБрд░реЛрдз рдХрд░рдирд╛:

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

"рд░реИрдХ.рд╕реЗрд╢рди" рдореЗрдВ рдиреЗрд╕реНрдЯреЗрдб рдирд┐рд░реНрджрд┐рд╖реНрдЯ рд╣реЗрдбрд░ рдХреЗ рд╕рд╛рде рдПрдХ рдЕрдиреБрд░реЛрдз рдСрдмреНрдЬреЗрдХреНрдЯ рдХреЗ рд╕рд╛рде рд╕рдорд╛рдкреНрдд рд╣реЛрддрд╛ рд╣реИ:

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

рдЗрд╕рд▓рд┐рдП, рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП, HTTP_AUTHORIZATION рд╢реАрд░реНрд╖рд▓реЗрдЦ рднреЗрдЬрдирд╛ authenticate_or_request_with_http_basic рджреНрд╡рд╛рд░рд╛ рдирд╣реАрдВ рдЙрдард╛рдпрд╛ рдЬрд╛рддрд╛ рд╣реИред

рдореИрдВ рд░рддреНрди рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░ рд░рд╣рд╛ рд╣реВрдБ:

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

рдмреЗрди

рдкреБрдирд╢реНрдЪ рдпрд╣ rspec 2 рдмреАрдЯрд╛4 рдХреЗ рд╕рд╛рде рдирд╣реАрдВ рд╣реБрдЖ

рд╕рдмрд╕реЗ рдЙрдкрдпреЛрдЧреА рдЯрд┐рдкреНрдкрдгреА

рдЕрдиреБрд░реЛрдз рд╡рд┐рдирд┐рд░реНрджреЗрд╢реЛрдВ рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдХреНрдпрд╛?

request рд╢реВрдиреНрдп рдкрд░ рдЖ рд░рд╣рд╛ рд╣реИ?

рдзрдиреНрдпрд╡рд╛рдж,
рд╕рдЬреНрдЬрди

рд╕рднреА 5 рдЯрд┐рдкреНрдкрдгрд┐рдпрд╛рдБ

рдмреАрдЯрд╛.8 рдХреЗ рд░реВрдк рдореЗрдВ, рдирд┐рдпрдВрддреНрд░рдХ рдРрдХреНрд╢рдирдХрдВрдЯреНрд░реЛрд▓рд░ :: рдЯреЗрд╕реНрдЯрдХреЗрд╕ :: рд╡реНрдпрд╡рд╣рд╛рд░ (http://github.com/rails/rails/blob/master/actionpack/lib/action_controller/test_case.rb) рдХреЛ рдирд┐рд░реНрджрд┐рд╖реНрдЯ рдХрд░рддрд╛ рд╣реИред

рд╣реЗрдбрд░ рд╕реЗрдЯ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП, рдЖрдк рдЙрдиреНрд╣реЗрдВ рд╕реАрдзреЗ рдЕрдиреБрд░реЛрдз рдСрдмреНрдЬреЗрдХреНрдЯ рдкрд░ рд╕реЗрдЯ рдХрд░рддреЗ рд╣реИрдВ:

 request.env["X-BLAH"] = "blah"
 рдкреЛрд╕реНрдЯ: рдмрдирд╛рдПрдБ, ....

рдмрдврд╝рд┐рдпрд╛, рддреНрд╡рд░рд┐рдд рдЙрддреНрддрд░ рдХреЗ рд▓рд┐рдП рдзрдиреНрдпрд╡рд╛рджред рдореБрдЭреЗ рджрд╕реНрддрд╛рд╡реЗрдЬ рдХрд╣рд╛рдВ рдорд┐рд▓ рд╕рдХрддрд╛ рд╣реИ?

рдЕрдиреБрд░реЛрдз рд╡рд┐рдирд┐рд░реНрджреЗрд╢реЛрдВ рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдХреНрдпрд╛?

request рд╢реВрдиреНрдп рдкрд░ рдЖ рд░рд╣рд╛ рд╣реИ?

рдзрдиреНрдпрд╡рд╛рдж,
рд╕рдЬреНрдЬрди

рд╡реВрдкреНрд╕ рдРрд╕рд╛ рд▓рдЧрддрд╛ рд╣реИ рдЬреИрд╕реЗ #request_via_redirect рдЪрд╛рд▓ рдЪрд▓ рд░рд╣рд╛ рд╣реИ

http://guides.rubyonrails.org/testing.html#helpers -рдЙрдкрд▓рдмреНрдз-рдХреЗ-рдПрдХреАрдХрд░рдг-рдкрд░реАрдХреНрд╖рдг

рд╕рдЬреНрдЬрди

рдХреНрдпрд╛ рдпрд╣ рдкреГрд╖реНрда рдЙрдкрдпреЛрдЧреА рдерд╛?
0 / 5 - 0 рд░реЗрдЯрд┐рдВрдЧреНрд╕

рд╕рдВрдмрдВрдзрд┐рдд рдореБрджреНрджреЛрдВ

bibisreebi picture bibisreebi  ┬╖  5рдЯрд┐рдкреНрдкрдгрд┐рдпрд╛рдБ

sanjsharma picture sanjsharma  ┬╖  3рдЯрд┐рдкреНрдкрдгрд┐рдпрд╛рдБ

egiurleo picture egiurleo  ┬╖  3рдЯрд┐рдкреНрдкрдгрд┐рдпрд╛рдБ

povilasjurcys picture povilasjurcys  ┬╖  3рдЯрд┐рдкреНрдкрдгрд┐рдпрд╛рдБ

jenskutilek picture jenskutilek  ┬╖  5рдЯрд┐рдкреНрдкрдгрд┐рдпрд╛рдБ