5

ログインしていないユーザーが、保護されたコンテンツにアクセスしようとすると、デバイスのサインアップ ページに誘導されることをテストしようとしています。テストには RSpec と Capybara を使用しています。

彼らがログインページに到達することを確認するために、彼らが最終的にたどり着くページにデバイスログインページ通知ハッシュのコンテンツがあることを確認しています。(デフォルトでは、これは: 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
4

1 に答える 1

8

Devise メッセージは に保存されるconfig/locales/devise.*.ymlため、他の翻訳と同じようにアクセスできます。

page.should have_content I18n.t("devise.failure.unauthenticated")
于 2012-12-09T06:50:55.500 に答える