Method: ActiveRecord::TestCase#assert_sql
- Defined in:
- lib/active_record/test_case.rb
#assert_sql(*patterns_to_match) ⇒ Object
16 17 18 19 20 21 22 23 24 25 |
# File 'lib/active_record/test_case.rb', line 16 def assert_sql(*patterns_to_match) $queries_executed = [] yield ensure failed_patterns = [] patterns_to_match.each do |pattern| failed_patterns << pattern unless $queries_executed.any?{ |sql| pattern === sql } end assert failed_patterns.empty?, "Query pattern(s) #{failed_patterns.map{ |p| p.inspect }.join(', ')} not found.#{$queries_executed.size == 0 ? '' : "\nQueries:\n#{$queries_executed.join("\n")}"}" end |