Ich habe einige RSpec-Tests für meine Modelle und möchte die SQL ActiveRecord-Protokollierung aktivieren, genau wie ich es im Rails-Servermodus sehe. Wie geht das?
Ich beginne meine Tests mit
RAILS_ENV=test bundle exec rspec my/test_spec.rb
Vielen Dank
tail -f log/test.log
Sie können versuchen, den ActiveRecord-Logger in Ihrem Test irgendwo auf stdout zu setzen. Wenn Sie rspec verwenden, vielleicht im Spezifikationshelfer?
quelle
active_record
enthalten ist, da diese die SQL standardmäßig nicht protokollieren.STDOUT
wurde es neu zugeordnet, und Sie sollten es$stdout
stattdessen verwenden.einstellen
in der Testumgebung
quelle
Wenn andere Antworten in Ihrem Fall nicht funktionieren, überprüfen Sie bitte die Protokollstufe Ihrer Testumgebung.
Die Standardeinstellung ist "Debug", wodurch die von Rails generierte SQL ausgegeben wird. Wenn es auf "info" gesetzt wurde, fehlt die SQL.
quelle
In Ihrem
test.rb
:quelle