From a85625dacfe7782148f7566c199d562c8acb71c0 Mon Sep 17 00:00:00 2001 From: Aaron Patterson Date: Wed, 11 Jan 2012 14:53:37 -0800 Subject: instantiate our own broken migration rather than relying on the filesystem --- activerecord/test/cases/migration_test.rb | 14 +++++++++----- 1 file changed, 9 insertions(+), 5 deletions(-) (limited to 'activerecord/test/cases') diff --git a/activerecord/test/cases/migration_test.rb b/activerecord/test/cases/migration_test.rb index fc26e9527d..15677d80a0 100644 --- a/activerecord/test/cases/migration_test.rb +++ b/activerecord/test/cases/migration_test.rb @@ -879,16 +879,20 @@ class MigrationTest < ActiveRecord::TestCase skip "not supported on #{ActiveRecord::Base.connection.class}" end - assert !Person.column_methods_hash.include?(:last_name) + refute Person.column_methods_hash.include?(:last_name) - e = assert_raise(StandardError) do - ActiveRecord::Migrator.up(MIGRATIONS_ROOT + "/broken", 100) - end + migration = Struct.new(:name, :version) { + def migrate(x); raise 'Something broke'; end + }.new('zomg', 100) + + migrator = ActiveRecord::Migrator.new(:up, [migration], 100) + + e = assert_raise(StandardError) { migrator.migrate } assert_equal "An error has occurred, this and all later migrations canceled:\n\nSomething broke", e.message Person.reset_column_information - assert !Person.column_methods_hash.include?(:last_name) + refute Person.column_methods_hash.include?(:last_name) end def test_finds_migrations -- cgit v1.2.3