如何显示RSpec测试生成的SQL查询日志?

时间:2011-07-30 16:16:31

标签: sql ruby-on-rails testing logging rspec

我正在为rails 3应用程序编写规范。我想测试数据库事务是否真的有效。能够看到在由规范驱动的情况下生成我的应用程序的SQL查询真的很有帮助。

有没有办法像在rails控制台中一样查看查询?

我正在使用Rails 3.0.9,RSpec 2.6和sqlite(稍后将转移到mysql)

2 个答案:

答案 0 :(得分:62)

将其放入您的规格中:

ActiveRecord::Base.logger = Logger.new(STDOUT) if defined?(ActiveRecord::Base)

你可以tail -f log/test.log看看发生了什么。是一个,但不是两个。

答案 1 :(得分:0)

根据Rails 5文档(Active Record Explain)。现在,您可以使用explain方法。这只会记录您指定的查询,但是如果在测试之前有大量的SQL代码,您将不会感到不知所措。

location / {
     proxy_pass http://localhost:1880/;
    }