2012-05-22 89 views
1

我嘗試使用下面的測試,看看是否登錄表單正確重定向1.3.4:Response對象與水豚

it "should allow you to login" do 
    visit "/" 
    fill_in 'Email', :with => '[email protected]' 
    fill_in 'Pass', :with => 'password' 
    click_button 'Login' 
    response.should be_redirect 
end 

然而,RSpec的失敗,並響應不存在的消息。我正在運行一個rails 2.3.4應用程序,所以我安裝了rspec 1.3.4。我如何測試迴應?

+0

我在這樣的情況下,提示是使用撬寶石,並將其放置binding.pry響應行之前。然後,您可以檢查像這樣的水豚物體,頁面等。 – Ivan

回答

0

我認爲這是一個集成規範(RSpec在第2版中稱爲「請求規範」)?如果是這樣,響應對象不可用。對於這一點,你需要一個控制器規範,例如:

describe MyController do 
    it "should redirect" do 
    post :some_path, {:email => '[email protected]', :pass => 'password'} 
    response.should be_redirect 
    end 
end 

或者在您的集成規範,測試成功後重定向的預期路徑。這部作品在RSpec中2,不知道RSpec的1:

current_path.should == "/some_path"