2011-08-14 176 views
1

我是全新的測試w /水豚和黃瓜。我看到了一些非常有用的視頻,並寫下了我的第一個測試。然而,說測試失敗了,我不知道爲什麼。黃瓜和水豚測試失敗,我該如何調試?

我相信我有我需要的所有寶石,並且我確信所有的配置都是按照文檔完成的。

但是,當我運行該功能時,它失敗的內容丟失,但我知道內容是在正確的視圖,並且我知道視圖正在正確服務。我可以手動導航,看起來應該是這樣,但是黃瓜/水豚步驟說它找不到內容。

對於我的步驟定義,我有:

When I visit the homepage 
    get root_path 
    response.should have_content("Log In") 
end 

在應用程序佈局,我有話「登錄」,可展示時未登錄用戶

功能運行時。 ,我收到了失敗消息:

expected there to be content "Log In" in "" 

有沒有辦法看到測試中的響應呈現的是什麼html?我試着做一個投入(迴應),但沒有做任何事情。任何其他原因,可能是我沒有考慮失敗?

回答

1

您必須使用visit而不是get。而且最好是分開你的腳步,並使用標準分級When I go to <page_name>(見web_steps.rb和paths.rb)

我建議你看看到rubygems.org項目 - 它有很酷的功能集,你可以使用它作爲一個例子。

+0

我很欣賞關於使用標準化名稱的建議,但在遵循您的建議之後,我仍然沒有采取相同的步驟,並且對原因缺乏洞察力。 – Paul

4

除了save_and_open_page功能,我發現我喜歡使用launchy寶石多一點。它看起來更加黃瓜。

如果您添加到您的Gemfile

gem 'launchy' 

當然運行

bundle install 

你可以簡單地在你的黃瓜測試記錄:

When ... 
Then show me the page 
Then I should see ... 

然後告訴我頁面也會啓動瀏覽器。我沒有檢查過,但我猜它只是坐在save_and_open_page函數的頂部,但再一次,這對我來說感覺更好。