devise と宣言型承認を使用しているときに、機能テストを機能させるのに非常に問題があります。devise テスト ヘルパーを使用してユーザーをサインインすると、コントローラーに current_user 変数が入力されます。しかし、post_with テスト ヘルパーを宣言型承認に使用するとすぐに、current_user は nil になります。
devise と宣言型承認を一緒に使用する場合に機能テストを作成する方法の例を教えてもらえますか?
ありがとう
devise と宣言型承認を使用しているときに、機能テストを機能させるのに非常に問題があります。devise テスト ヘルパーを使用してユーザーをサインインすると、コントローラーに current_user 変数が入力されます。しかし、post_with テスト ヘルパーを宣言型承認に使用するとすぐに、current_user は nil になります。
devise と宣言型承認を一緒に使用する場合に機能テストを作成する方法の例を教えてもらえますか?
ありがとう
私も同じ問題を抱えていました。devise を使用した機能テストでは、post_with などの宣言型承認テストヘルパーを使用できません。
機能テストには、sign_in や sign_out などのデバイス テストヘルパーを使用する必要があります。機能テスト用のデバイス テスト ヘルパー メソッドを使用するヘルパーを作成しました。
def test_with_user(user, &block)
begin
sign_in :user, users(user)
yield
ensure
sign_out :user
end
end
このヘルパーは次のように使用します。
test_with_user(:max) do
get :new
assert_response :success
end
それが役立つことを願っています。