我的大多数测试都提出了以下问题,我不明白为什么.所有方法调用都会引发"身份验证"错误.我判断了代码是否有一个名为"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)>'

The project can be found over there => https://github.com/agilepandas/enki in case you'd like to run the tests your self.

推荐答案

这个问题在Twitter上得到了@MatthewClosson的回答

@Jeffeh你需要创建一个

再次感谢.

Ruby-on-rails相关问答推荐

从 rails 5 迁移到 rails 6

Gem::Ext::BuildError:ERROR:无法在macOS Monterey上构建Gem本机扩展

Selenium chromedriver:无法从不可键入的键构造KeyEvent

如何运行单个 RSpec 测试?

Rails:如何修复“‘生产’环境缺少 secret_key_base”

Ruby on Rails 中的邮箱验证?

%i 或 %I 在 Ruby 中做什么?

FactoryBot 工厂中的“临时执行”块的目的是什么?

Heroku:不能运行超过 1 个免费大小的测功机

如何解决弃用警告“方法 to_hash 已弃用并将在 Rails 5.1 中删除”

禁用冻结字符串文字注释判断

Ruby 更新后:测试失败,“assets资源 未声明为在生产中预编译”

Rails:包含多态关联

Rails:将activerecord关系转换为数组的正确方法?

安装坚固耐用时发生错误

Bundler::GemNotFound:在任何源中都找不到 rake-10.3.2

如何从 Rails 中的枚举中获取整数值?

加载常量时自动加载常量时检测到循环依赖

PG::UndefinedTable: 错误:在使用连接时缺少表的 FROM 子句条目以及在哪里

如何优雅地为“嵌套”哈希符号化密钥