2012-12-09 72 views
5

我試圖測試一個未登錄的用戶在試圖訪問安全內容時是否指向設計註冊頁面。我使用RSpec與水豚進行測試。Rspec和水豚測試的訪問設計配置消息

爲了確保它們到達登錄頁面,我確保它們最終的頁面具有設計登錄頁面的內容通知散列。 (默認情況下,這是:You need to sign in or sign up before continuing.

而不是寫這樣的測試:

page.should have_content "You need to sign in or sign up before continuing." 

有沒有一種方法來訪問配置信息(如果我以後改變它)?喜歡的東西:

page.should have_content Devise::Messages.Login_required 

回答

8

制定消息存儲在config/locales/devise.*.yml,這樣你就可以像任何其他的翻譯訪問它們:

page.should have_content I18n.t("devise.failure.unauthenticated")