2011-10-23 15 views
7

Tüm birim testlerimin varsayılan test.host yerine www.test.host kullanmasını istiyorum.Varsayılan istek sunucusunu test eden raylar

config/environments/test.rb'da ENV['HTTP_HOST'] ayarlamayı denedim, ancak bu anlamadı.

Amacım benim denetleyicisi testinde bir yönlendirme kaçınmaktır, benim testinde response nesneyi teftiş çıktısı:

#<ActionController::TestResponse:0x000001059ed378, ..., @header={"Location"=>"http://www.test.host", ... , @status=301, @body=["<html><body>You are being <a href=\"http://www.test.host\">redirected</a>.</body></html>"], ... , "REQUEST_METHOD"=>"GET", "SERVER_NAME"=>"example.org", "SERVER_PORT"=>"80",... , "HTTP_HOST"=>"test.host", "REMOTE_ADDR"=>"0.0.0.0" ...>> 

olsun, hani raylar 3. ve RSPEC2

kullanıyorum bir fark yaparsa

cevap

11

Testinize request.host ayarlayarak yapın. Bunu global olarak test_helper.rb'a ekleyerek yapabilirsiniz (yine de Rails 3.1'de, önceki sürümlerden emin değilim, ama sanırım benzerdir):

class ActionController::TestCase 
    setup do 
    request.host = "www.test.host" 
    end 
end 
İlgili konular