ruby-on-rails - Ruby on Rails : RSpec and Acts As Audited (disabling acts_as_audited while testing?)

标签 ruby-on-rails ruby rspec testing acts-as-audited

我遇到了一个错误,我认为可以通过以下方式解决 运行测试时禁用acts_as_audited,或者至少进行 stub 审计清理程序中的 current_user。错误如下。你觉得我怎么样 应该做什么?

NoMethodError in 'Order should create a new instance given valid attributes'
You have a nil object when you didn't expect it!
The error occurred while evaluating nil.current_user
/home/ramon/rails/app/vendor/plugins/acts_as_audited/lib/acts_as_audited/audit_sweeper.rb:73:in `send'
/home/ramon/rails/app/vendor/plugins/acts_as_audited/lib/acts_as_audited/audit_sweeper.rb:73:in `current_user'
/home/ramon/rails/app/vendor/plugins/acts_as_audited/lib/acts_as_audited/audit_sweeper.rb:61:in `after_create'
./spec/models/order_spec.rb:13:

在spec/models/order_spec.rb中,我尝试 stub AuditSweeper.current_user、template.current_user和controller.current_user以返回模拟用户模型。没有工作。

感谢任何帮助。谢谢!

最佳答案

看起来好像正在调用的对象 current_user 之一为零。所以 stub 当前用户是行不通的。您需要追踪 nil 对象并确保它已初始化。

关于ruby-on-rails - Ruby on Rails : RSpec and Acts As Audited (disabling acts_as_audited while testing?),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2054694/

相关文章:

ruby-on-rails - 在 `+' : String can't be coerced into Fixnum (TypeError)

ruby-on-rails - 如何在 rspec 测试中输出变量?

ruby-on-rails - 如何在 Heroku 上分析不一致的 H12 超时

ruby-on-rails - 无法通过在 Rails 应用程序中运行 Ruby 打开本地主机

ruby-on-rails - Rails : gem. config & rake gems:install -- 没有要加载的文件

ruby-on-rails - 带有请求 header 和正文的 Rails 中的 Net/HTTP

ruby - 我如何使用 expect 来测试小于

ruby-on-rails - OpenURI::HTTPError: 403 Forbidden

ruby-on-rails - 如何限制will_paginate链接中显示的页面数量

ruby-on-rails - Nokogiri : libxms2 is missing 的 Git 捆绑安装错误