Убираются ли классы Ruby между задачами Rake? - PullRequest
3 голосов
/ 02 июля 2010

У меня есть Rakefile, который определяет задачу спецификации как

task :spec => [:check_dependencies, :load_backends]

А затем запускает реальные тесты rspec. Во время задачи load_backends он загружает класс с именем Story, но в первом тесте спецификации defined?(Story) возвращает false.

Я предполагаю, что предполагаемое поведение Rake - начинать со свежей среды в начале каждой задачи, но есть ли способ переопределить это? Или мне нужно перепроектировать загрузку серверных частей в каждую задачу?

1 Ответ

1 голос
/ 04 июля 2010

Задача спецификации RSpec запускает новый процесс Ruby (я думаю, в основном, чтобы не связываться с процессом Rake), поэтому классы, определенные в задаче rake (даже задаче spec), недоступны в ваших спецификациях. Подумайте о том, чтобы перенести эту логику в свой помощник по спецификациям или не использовать задание по спецификации RSpec.

...