Вы можете сделать что-то вроде этого:
Я собираюсь предположить, что вы используете ActiveRecord.Итак, в вашем помощнике по тестированию вы должны настроить базу данных в памяти:
require 'active_record'
# Connection must be establised before anything else
ActiveRecord::Base.establish_connection(
:adapter => defined?(JRUBY_VERSION) ? 'jdbcsqlite3' : 'sqlite3',
:database => ':memory:'
)
Затем вызовите задачу rake в вашем тесте.Это будет выглядеть примерно так:
require 'rake'
requie File.expand_path('../Rakefile', __FILE__) # you'll need to modify this path to actually point to the Rakefile
Rake::Task['db:migrate'].invoke
Вызов rake taks не проверен, но это должно указать вам правильное направление.
Другой вариант - просто запустить команду:
%x{rake db:migrate}