У меня есть ряд задач, рек в Rakefile, который я хотел бы проверить, как часть моей спецификации и т.д. Каждая задача определяется в виде:Могу ли я переопределить задачу: среда в test_helper.rb для проверки задач рейка?
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
Так что моя просьба о помощи - можно переусердствовать ездить: задачу среды в моем файле test_helper.rb поэтому я мое тестирование рейки взаимодействует с моими тестовой базой данных, а не производство? Я попытался переопределить задачу в вспомогательном файле, но это не сработает.
Любая помощь для решения будет замечательной, поскольку я застрял на этой неделе на прошлой неделе.
Спасибо за ваш ответ Майк. В то же время я немного поработал с Rake, и я думаю, что эти два метода в test_helper.rb могут быть каким-то образом к решению. Защиту rake_up Rake.application = Rake :: Application.new Rake :: Task.define_task: среда Rake.application конец Защиту rake_down Rake.application = ноль конец –
Ссылка на этот пост блога появится быть мертвым. Единственное место, где я мог найти содержание, можно найти здесь: [Что делать в задачах Rake] (http://www.artima.com/forums//threaded.jsp?forum=123&thread=251328) – ThomasW