如何在 RSpec 测试中打开 ActiveRecord 的 SQL 调试日志记录?
我对我的模型进行了一些 RSpec 测试,并且我想打开 SQL ActiveRecord 日志记录,就像在 Rails 服务器模式中看到的那样。怎么做呢?
开始测试
RAILS_ENV=test bundle exec rspec my/test_spec.rb
我以“谢谢”
I have some RSpec tests for my models and I would like to turn on SQL ActiveRecord logging just like I see in the Rails server mode. How to do that?
I start my tests with
RAILS_ENV=test bundle exec rspec my/test_spec.rb
Thanks
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(5)
您可以尝试在测试中的某个位置将 ActiveRecord 记录器设置为标准输出。如果您使用 rspec,也许在规范助手中?
You could try setting the ActiveRecord logger to stdout in your test somewhere. If you're using rspec, maybe in the spec helper?
默认情况下,所有数据库查询都将在测试模式下记录。它们将位于
log/test.log
中。By default, all your db queries will be logged already in test mode. They'll be in
log/test.log
.设置
在测试环境中
set
in test environment
如果其他答案不适用于您的情况,请检查您的测试环境的“日志级别”。
它的默认值是'debug',它将输出Rails生成的SQL。如果设置为“info”,则 SQL 将丢失。
if others answers don't work in your case, please check the 'log level' of your test environment.
its default is 'debug', which will output the SQL generated by Rails. if it was set to "info", the SQL will be missing.
在您的
test.rb
中:In your
test.rb
: