Определение переменной среды в стандартном Задаче Rake применяет только переменную для выполнения задачи.
То же самое в Rake TestTask экспортируетПеременная среды для остальных задач среды.
Это не влияет на значение ENV["ENVIRONMENT"]
для других задач:
task :test do
ENV["ENVIRONMENT"] = "test"
puts "other tasks will not have the env"
end
Изменение ENV["ENVIRONMENT"]
для всех задач (даже когда не запускается):
Rake::TestTask.new(:random_task) do |t|
ENV["ENVIRONMENT"] = "test"
puts "all other tasks have this env set even if this task is not run"
end
Как я могу применить обычное поведение Задача к TestTask или это так по замыслу?
Я вижу это такway:
Каждая задача наследует стандартную среду, но выполняется в своей собственной оболочке, но TestTask, похоже, выполняется в основной среде, от которой наследуются все другие задачи.Это как если бы ENV["ENVIRONMENT"]
было определено глобально в Rakefile.