Module: TemporaryModel::TestHelper

Extended by:
ActiveSupport::Concern
Defined in:
lib/temporary_model/test_helper.rb

Instance Method Summary collapse

Instance Method Details

#runObject

Override ActiveSupport::TestCase#run FIXME: こんなにループさせんでもできるんじゃないか?FIXME: テストごとに設定じゃなくてテストクラス全体でできないかな



18
19
20
21
22
23
24
25
26
27
28
29
30
31
# File 'lib/temporary_model/test_helper.rb', line 18

def run
  self.class.temporary_classes.each do |model_name, temporary_class|
    Object.const_set(model_name, temporary_class)
    create_temporary_table temporary_class.table_name, &temporary_class.define_table
  end
  super
ensure
  TemporaryModel::Record.connection.disable_referential_integrity do
    self.class.temporary_classes.each do |model_name, temporary_class|
      drop_temporary_table temporary_class.table_name
      Object.send(:remove_const, model_name)
    end
  end
end