Прошу прощения, если этот вопрос слегка субъективен ... Я пытаюсь выяснить, как лучше всего проверить Rails 3 Двигатели с огурцом & Rspec. Чтобы проверить двигатель, необходимо использовать рельсы 3. Вот то, что я сейчас делаю:Как протестировать Rails 3 Двигатели с огурцом и Rspec?
Добавить тест рельсов приложения к корню драгоценного камня (myengine), запустив:
rails new /myengine/rails_app
Добавить Огурцы в
/myengine/rails_app/features
, как вы бы в нормальном Rails приложенииТребовать Rails Engine Gem (с использованием
:path=>"/myengine"
) в/myengine/rails_app/Gemfile
Добавить спецификацию в корневую директорию перл:
/myengine/spec
Включите светильники в
/myengine/spec/fixtures
и добавить следующее к моей CUC env.rb:
env.rb:
Fixtures.reset_cache
fixtures_folder = File.join(Rails.root, 'spec', 'fixtures')
fixtures = Dir[File.join(fixtures_folder, '*.yml')].map {|f| File.basename(f, '.yml') }
Fixtures.create_fixtures(fixtures_folder, fixtures)
Видите ли вы какие-либо проблемы с установкой его как это? Тесты проходят нормально, но я немного нерешительно помещаю функции внутри тестового рельса. Первоначально я попытался поместить функции в корень драгоценного камня, и я создал тестовое рельсовое приложение внутри features/support
, но по какой-то причине мой движок не инициализировался, когда я запускал тесты, хотя я мог видеть, как приложение загружает все остальное, когда cuc ran ,
Если кто-то работает с Rails Engines и использует cuc и rspec для тестирования, мне было бы интересно услышать вашу настройку.
* * UPDATE
Я изменил мои настройки немного, так как я написал этот вопрос. Я решил избавиться от каталога спецификаций под корнем движка. Теперь я просто создаю приложение rails с именем «test_app» и настрою cuc и rspec внутри этого приложения, как обычно, в приложении rails. Затем я включаю драгоценный камень, как я сделал в шаге № 3 выше. Поскольку движок является суб-приложением, я думаю, его просто лучше проверить, как это было обычное приложение для рельсов. Меня все еще интересует слух, если у кого-то другая установка.
Ryan, спасибо за информацию. Это то, что я искал. Похоже, некоторые улучшения улучшаются в 3.1. Тем не менее, проблема с установкой края рельсов. «ОШИБКА: Не удалось найти действительный драгоценный камень« pkg/rails-3.1.0.beta.gem »(> = 0) в любом репозитории« Все другие драгоценные камни (AR, AS и т. Д.) Строят и устанавливают отлично, но это не похоже на то, что Rakefile строит рельсы. Может быть, что-то с моей средой ... Я только начал поиск и устранение неполадок, но если у вас есть минута, сообщите мне, если вы можете установить край из задачи рейка без ошибок. Спасибо чувак! – johnmcaliley 2011-01-22 15:15:56