测试rails查询计数

时间:2013-03-01 23:15:16

标签: ruby-on-rails performance

我正在尝试编写一个测试,以确保我们没有运行超过必要的查询。我找到了ActiveRecord测试用例并尝试从中继承。这个测试用例有一些有用的方法,比如assert_queries(num)。问题 - 它似乎在3.2.12中不起作用,并且已被弃用。

我可以在哪里访问查询日志吗?我在我的一个测试用例中打开了pry shell,试图检查一些查询日志记录对象。没有骰子。

沿着这些方向 - 有什么设施可以在模型之外注册回调吗?例如,我想注册一个侦听所有对象保存方法的块。

1 个答案:

答案 0 :(得分:2)

"有没有在模型之外注册回调的工具?"

ActiveRecord :: Observer应该完全按照你的意愿行事。此代码'观察'评论模型:

class CommentObserver < ActiveRecord::Observer
  def after_save(comment)
    Notifications.comment("admin@do.com", "New comment was posted", comment).deliver
  end
end

有关更多示例和高级用法,请参阅http://api.rubyonrails.org/classes/ActiveRecord/Observer.html