在使用Devise的Rails 3.28应用程序中,我设置了一个控制器来检查用户是否使用if user_signed_in?
登录。一旦测试达到这一行,我总是得到一个undefined method 'authenticate!' for nil:NilClass
错误。我想在没有用户登录的情况下测试一些代码。
我认为我需要根据此处 Devise Wiki 中指定的选项设置测试,但是,所有说明都与 rspec 有关。
特别是,我认为我需要具备以下条件才能在 minitest 中工作:
RSpec.configure do |config|
config.include Devise::TestHelpers, :type => :controller
config.extend ControllerMacros, :type => :controller
end
有没有人成功地设置它让 Devise 与 minitest 一起工作?
将以下内容添加到minitest_helper.rb
文件中:
class MiniTest::Rails::ActionController::TestCase
include Devise::TestHelpers
end