後へ      Topへ      次へ

自動テスト: Devise: ログイン

サンプルプログラムでは、ユーザー認証に Devise を使っています。
テストコードからコントローラのアクションにアクセスする際も作用するため、
アクセス前に「ログイン」操作の挿入が必要です。

test_helper.rb

Devise 用のヘルパーライブラリを導入します。

\test\test_helper.rb に、

class ActionDispatch::IntegrationTest
  include Devise::Test::IntegrationHelpers
end

を追記します。

fixtures

アドミンなら全ての操作が可能なので、
\test\fixtures\users.yml
is_admin が true のユーザー “admin” を追加します。

controllers

各テストファイルの setup メソッドに、

@user = users(:admin)
sign_in @user

を追記します。

sign_in が Devise でのログインです。

とりあえずアドミンにしておいて、
別権限の確認が必要な時は、該当ユーザーで sign_in し直します。

 

integration

上記 controllers と同様です。

system

System Test 用については、こちら で説明します。


後へ      Topへ      次へ