ruby-on-rails - 如何出于测试目的禁用缓存清扫器

标签 ruby-on-rails ruby-on-rails-3 unit-testing testing observers

我正在使用清扫器观察模型并使用 snogmetrics 进行一些记录:

class UserSweeper < ActionController::Caching::Sweeper
  observe User

  def after_create(user)
    km.identify(user.email)
  end
end

我用清扫器而不是观察器来执行此操作,因为 snogmetrics 需要 session 才能正常运行。

然而,在测试时,snogmetrics 完全失败了

NoMethodError: undefined method `identify' for nil:NilClass

如何为单元测试禁用清扫器?谢谢!

最佳答案

km 是在哪里定义的?据我所知,它没有在您的 user_sweeper 中定义,因此无论您所处的环境如何,它都会失败。

关于ruby-on-rails - 如何出于测试目的禁用缓存清扫器,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7171996/

相关文章:

ruby-on-rails - Rails 在 url 中使用 '.' 截断参数

ruby-on-rails - Ruby on Rails 的 gem "Devise"在 app/controllers 中甚至没有 Controller 文件?

ruby-on-rails-3 - 具有rspec2 beta 5和rails3 beta2的Shoulda宏

node.js - 用 Jest 模拟间接依赖

javascript - Rails 3 406 尝试使用 format.js 时出现 Not Acceptable 错误,也无法更改内容类型

ruby-on-rails - rails 3.1 : Should File Uploads be added to asset pipeline?

ruby-on-rails - 翻译缺少activeadmin,Ruby on Rails

java - 单元测试必须位于同一个包中?

c# - 如何使用具有 ref bool 参数的 Rhino Mocks 引发事件

ruby-on-rails - ActiveStorage 图像 Blob 消失