开发者

How to show SQL query log generated by a RSpec test?

开发者 https://www.devze.com 2023-03-24 04:49 出处:网络
I am writing a spec for my rails 3 application. I want to test that db transactions are really working. It would be really helpful to be able to see the sql queries being generated my app while being

I am writing a spec for my rails 3 application. I want to test that db transactions are really working. It would be really helpful to be able to see the sql queries being generated my app while being driven by the spec.

Is there a way to see the queries just like in the rails co开发者_运维知识库nsole?

I'm using Rails 3.0.9, RSpec 2.6, and sqlite (will move to mysql later on)


Put the following code in your specs:

Rails 7.0+

ActiveRecord.verbose_query_logs = true

Rails 5.2

ActiveRecord::Base.verbose_query_logs = true

Rails 3.0

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

Thanks to everyone who commented for the Rails updates.


According to the Rails 5 docs (Active Record Explain). You can now use the explain method. This will only log the queries you specify, but you will not be overwhelmed if you have a large amount of SQL code before your tests.

ap Model.explain
0

精彩评论

暂无评论...
验证码 换一张
取 消