Module: EtestUnit::TestSuiteCreator::ActiveRecordAdditions
- Defined in:
- lib/etest-unit.rb
Instance Method Summary collapse
Instance Method Details
#in_transaction(&block) ⇒ Object
42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 |
# File 'lib/etest-unit.rb', line 42 def in_transaction(&block) old_log_level = set_log_level(Logger::ERROR) ActiveRecord::Base.transaction do begin set_log_level(old_log_level) yield ensure set_log_level(Logger::ERROR) raise ActiveRecord::Rollback, "Rollback test transaction" end end rescue STDERR.puts "Could not run etest in transaction: #{$!}" ensure set_log_level(old_log_level) end |
#run_test(test, result) ⇒ Object
59 60 61 62 63 64 65 66 67 68 69 70 |
# File 'lib/etest-unit.rb', line 59 def run_test(test, result) running_tests_in_transaction = nil in_transaction do running_tests_in_transaction = true super(test, result) end if !running_tests_in_transaction super(test, result) end end |
#set_log_level(level) ⇒ Object
34 35 36 37 38 39 40 |
# File 'lib/etest-unit.rb', line 34 def set_log_level(level) return unless ActiveRecord::Base.logger r = ActiveRecord::Base.logger.level ActiveRecord::Base.logger.level = level r end |