Tengo algunas pruebas RSpec para mis modelos y me gustaría activar el registro de SQL ActiveRecord tal como veo en el modo de servidor Rails. ¿Como hacer eso?
Comienzo mis pruebas con
RAILS_ENV=test bundle exec rspec my/test_spec.rb
Gracias
Respuestas:
De forma predeterminada, todas sus consultas de base de datos ya se registrarán en modo de prueba. Estarán adentro log/test.log
.
tail -f log/test.log
Puede intentar configurar el registrador ActiveRecord en salida estándar en su prueba en algún lugar. Si está usando rspec, ¿tal vez en el asistente de especificaciones?
ActiveRecord::Base.logger = Logger.new(STDOUT)
active_record
incluida, ya que no registran el SQL de forma predeterminada.
STDOUT
se ha reasignado y debería utilizar $stdout
en su lugar.
Si otras respuestas no funcionan en su caso, verifique el 'nivel de registro' de su entorno de prueba.
su valor predeterminado es 'debug', que generará el SQL generado por Rails. si se estableció en "info", faltará el SQL.
En tu test.rb
:
Rails.application.configure do
...
config.logger = ActiveSupport::Logger.new(STDOUT)
end