3

Devise を使用する Rails 3.28 アプリケーションで、ユーザーがログインしているかどうかを確認するコントローラーをセットアップしますif user_signed_in?。テストがこの行に到達すると、常にundefined method 'authenticate!' for nil:NilClassエラーが発生します。ユーザーがログインしていないシナリオでいくつかのコードをテストしたかった.

Devise Wiki hereで指定されているオプションに従ってテストをセットアップする必要があると考えていますが、すべての指示は rspec に関するものです。

特に、minitest で動作させるには、次のものが必要だと思います。

RSpec.configure do |config|
  config.include Devise::TestHelpers, :type => :controller
  config.extend ControllerMacros, :type => :controller
end

これを設定してDeviseをminitestで動作させることに成功した人はいますか?

4

1 に答える 1

15

minitest_helper.rb以下をファイルに追加します。

class MiniTest::Rails::ActionController::TestCase
  include Devise::TestHelpers
end
于 2012-11-21T17:05:00.747 に答える