使用Minitest和Devise进行控制器测试失败

Dan*_*lay 3 ruby ruby-on-rails minitest devise

在使用Devise的Rails 3.28应用程序中,我设置了一个控制器,用于检查用户是否登录if user_signed_in?.一旦测试达到这条线,我总是会收到undefined method 'authenticate!' for nil:NilClass错误.我想在没有用户登录的场景中测试一些代码.

我想,我需要设置的测试根据在设计维基指定的选项在这里,但是,所有的说明适用于rspec的.

特别是,我认为我需要有以下工作在minitest:

RSpec.configure do |config|
  config.include Devise::TestHelpers, :type => :controller
  config.extend ControllerMacros, :type => :controller
end
Run Code Online (Sandbox Code Playgroud)

有没有人成功设置Devise与minitest合作?

blo*_*age 15

将以下内容添加到您的minitest_helper.rb文件中:

class MiniTest::Rails::ActionController::TestCase
  include Devise::TestHelpers
end
Run Code Online (Sandbox Code Playgroud)