2010-10-31 107 views
0

我正在使用Rails 3.0.1,RSpec-Rails 2.0.1和Webrat 0.7.1。我有以下測試:如何跟蹤RSpec加載的文件?

describe PagesController do 
    describe "GET 'main'" do 
    it "should have the right title" do 
     get 'main' 
     response.should have_selector("title", :content => "My title") 
    end 
    end 
end 

頁#的主HTML檢查:它包含我的標題。當我運行rspec的,它給了我在這個測試中失敗,並表示它希望找到在下面的行標籤:

<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN" "http://www.w3.org/TR/REC-html40/loose.dtd"> 

因爲這不是存儲在主要頁面#文件,我認爲,出於某種原因,rspec是加載錯誤的頁面。我該如何解決這個問題?或者,如果沒有一個通用的解決方案,我該如何獲得rspec來告訴我它試圖加載哪個頁面,這樣我就可以試着弄清楚爲什麼要進入這個其他頁面?謝謝。

+1

查看日誌/ test.log中 – shingara 2010-11-01 00:04:18

+0

我得到兩次調用「由PagesController#主爲HTML處理」 ......一個導致「的渲染頁/ main.html.erb「(正如人們所期望的),然後是另一個什麼也不導致的結果。我不確定它讓我更接近解決方案。 – 2010-11-01 01:26:52

回答

0

這裏是一個更好的方式來發布日誌/ test.log中:

Processing by PagesController#main as HTML 
Rendered pages/main.html.erb within layouts/application (0.4ms) 
Completed 200 OK in 5ms (Views: 5.1ms | ActiveRecord: 0.0ms) 
    Processing by PagesController#main as HTML 
Completed 200 OK in 1ms (Views: 0.9ms | ActiveRecord: 0.0ms) 

它看起來對我來說,在一個頁面中的第一個結果被渲染 - 什麼是第二個電話嗎?

+0

如果您發現評論限制過於嚴格,那麼您應該編輯您的問題以包含信息,而不是將其發佈爲「答案」。 – 2010-11-01 08:01:41

1

你需要告訴RSpec的渲染觀點:

describe PagesController do 
    render_views # Add this line to tell RSpec to render the views 
    describe "GET 'main'" do 
    . 
    . 
end