Я не уверен, что это ошибка Рэйка - у меня такое ощущение, что когда вы добавляете :environment
в качестве зависимости, вы запускаете всю инфраструктуру Rails, что может потребовать каждого файла модели (это довольно дико догадки - я еще не очень внимательно следил за процессом загрузки).
Как бы то ни было, кажется, что ваша модель требуется, и в этот момент весь ад вырвался на свободу.
Глядя на script / runner и, что более полезно, railties / lb / commands / runner.rb, последовательность выполнения выглядит примерно так:
require 'boot' # boot the Rails app
eval(File.read(code_or_file)) # run what you asked for
Эта вторая строка (в действительности это строка 45 в runner.rb) выглядит как ключ. Как было бы, если бы вы определили отдельный скрипт (скажем, в / lib), который содержал код, который запускает вашу модель? Я думаю, что это, вероятно, было бы более подходящим для Rails способом сделать это. И это, вероятно, остановит Рэйка испортить ваши тесты ...