1. ホーム
  2. ruby-on-rails

[解決済み] すべての Ruby テストで発生: nil:NilClass の未定義メソッド `authenticate' が発生

2022-06-27 15:29:58

質問

ほとんどのテストで以下のようなエラーが発生するのですが、理由がわかりません。すべてのメソッドコールは '認証' エラーを発生させます。私は"authenticate"と呼ばれるメソッドがあるかどうかコードをチェックしたが、そのようなメソッドはない。

  1) Admin::CommentsController handling GET to index is successful
     Failure/Error: get :index
     undefined method `authenticate!' for nil:NilClass
     # ./spec/controllers/admin/comments_controller_spec.rb:9:in `block (3 levels) in <top (required)>'


  124) PostsController handling GET for a single post should render show template
     Failure/Error: get :show, :year => '2008', :month => '01', :day => '01', :slug => 'a-post'
     undefined method `authenticate' for nil:NilClass
     # ./app/controllers/application_controller.rb:18:in `set_current_user_for_model'
     # ./spec/controllers/posts_controller_spec.rb:131:in `do_get'
     # ./spec/controllers/posts_controller_spec.rb:140:in `block (3 levels) in <top (required)>'

プロジェクトは、こちらでご覧になれます => https://github.com/agilepandas/enki をご覧ください。

どのように解決するのですか?

この質問は @MatthewClosson によってTwitterで回答されています。

@jeffehh あなたは、以下のように spec/support/devise.rb ファイルを作成する必要があります。 を作成する必要があります。 https://github.com/plataformatec/devise#test-helpers を追加します。 deviseテストヘルパーを含める #ruby

改めてありがとうございます。