def test_what_sql_statements_are_used
ActiveRecord::Base.logger.flush
ActiveRecord::Base.logger.auto_flushing=false
DoSomeThing
assert_equal 2, ActiveRecord::Base.logger.buffer.size
assert_equal 2, ActiveRecord::Base.logger.buffer.size
assert ActiveRecord::Base.logger.buffer[0] =~ /SELECT id FROM `T1` WHERE .* ORDER BY id DESC LIMIT .*/
assert ActiveRecord::Base.logger.buffer[1] =~ /SELECT id FROM `T2` WHERE .* ORDER BY id DESC LIMIT .*/
end
ActiveRecord::Base.logger.flush flushes the existing entries in the buffer, and setting ActiveRecord::Base.logger.auto_flushing=false makes sure all the new entries will be kept in the buffer.
No comments:
Post a Comment