У меня есть ряд рейк-задач в Rakefile, которые я хотел бы проверить в рамках своих спецификаций и т. Д. Каждая задача определяется в форме:
task :do_somthing => :environment do
# Do something with the database here
end
Где: задача среды устанавливает соединение с базой данных ActiveRecord / DataMapper и классы. Я не использую это как часть Rails, но у меня есть ряд тестов, которые мне нравится выполнять как часть BDD.
Этот фрагмент иллюстрирует, как я пытаюсь протестировать грабли.
def setup
@rake = Rake::Application.new
Rake.application = @rake
load File.dirname(__FILE__) + '/../../tasks/do_something.rake'
end
should "import data" do
@rake["do_something"].invoke
assert something_in_the_database
end
Итак, моя просьба о помощи - возможно ли переопределить задачу: environment в моем файле test_helper.rb, чтобы мой рейк-тест взаимодействовал с моей тестовой базой данных, а не с рабочей? Я попытался переопределить задачу в файле помощника, но это не работает.
Любая помощь для решения была бы отличной, так как я застрял на этом на прошлой неделе.