Я на самом деле не верю, что у вас есть проблема здесь вообще. Я полагаю, что в какой-то момент вы заметили, что ваша задача rake действительно затрагивает среду разработки, и вы начали пытаться понять, почему это так. Затем вы добавили строку в файле конфигурации разработки, чтобы вызвать исключение, и именно поэтому ваши тесты рейка не пройдены.
Если вы удалите строку, которая вызывает исключение, то вы можете обнаружить, что все тесты выполнены успешно.
Если вы попробуете следующее, вы можете обнаружить, что это объясняет проблему.
Настройка среды разработки (только для целей трассировки)
export RAILS_ENV = разработка
- Удалить все строки, которые искусственно
поднять исключения в вашей среде
файлы.
Добавить следующую строку в конец
каждый файл в конфигурации / средах
puts "**** In #{ENV['RAILS_ENV']} environment config ****"
Добавьте следующую строку в test / test_helper.rb чуть ниже строки, задающей среду для тестирования.
puts "**** Loading test helper **** Environment = #{ENV['RAILS_ENV']}"
Запустите rake, используя опцию trace, чтобы наблюдать за выполнением задач с трассировкой текущей активной среды.
rake -t test
- Проверьте вывод, чтобы определить, где ваша среда настроена неправильно.
Запустите тесты снова, но на этот раз установите среду непосредственно перед запуском тестов, используя
export RAILS_ENV = тест
Если у вас действительно есть проблема, то, возможно, вы должны опубликовать вывод rake -t с кодом трассировки в.
Это результат моих тестов в новом проекте с минимальным количеством тестов. Вы заметите, что перед выполнением реальных тестов среда всегда «тестирует»
** Invoke test (first_time)
** Execute test
** Invoke test:units (first_time)
** Invoke db:test:prepare (first_time)
** Invoke db:abort_if_pending_migrations (first_time)
** Invoke environment (first_time)
** Execute environment
**** In development environment config ****
** Execute db:abort_if_pending_migrations
** Execute db:test:prepare
** Invoke db:test:load (first_time)
** Invoke db:test:purge (first_time)
** Invoke environment
** Execute db:test:purge
** Execute db:test:load
** Invoke db:schema:load (first_time)
** Invoke environment
** Execute db:schema:load
** Execute test:units
**** Loading test helper **** Environment = test
**** In test environment config ****
Loaded suite /Library/Ruby/Gems/1.8/gems/rake-0.8.3/lib/rake/rake_test_loader
Started
.
Finished in 0.071771 seconds.
1 tests, 1 assertions, 0 failures, 0 errors
** Invoke test:functionals (first_time)
** Invoke db:test:prepare
** Execute test:functionals
**** Loading test helper **** Environment = test
**** In test environment config ****
Loaded suite /Library/Ruby/Gems/1.8/gems/rake-0.8.3/lib/rake/rake_test_loader
Started
.....
Finished in 0.133776 seconds.
5 tests, 6 assertions, 0 failures, 0 errors
** Invoke test:integration (first_time)
** Invoke db:test:prepare
** Execute test:integration