Подтвердить что ты не робот

Разработка драгоценных камней и тестирование

Я новичок в разработке камней Ruby, но я думал, что попробую.

Недавно просмотрев последний эпизод в Railscasts (http://railscasts.com/episodes/245-new-gem-with-bundler), я использую Bundler для создания своего драгоценного камня.

Однако я как бы не знаю, как проверить мой драгоценный камень.

Конечно, я могу запустить rake install, а затем потребовать от irb, но для меня это выглядит как медленный рабочий процесс.

Что мне нужно сделать, так это создать фиктивное приложение Rails и потребовать камень, ссылаясь на его исходный код. Это возможно? Я уверен, что я где-то читал...

Спасибо!

4b9b3361

Ответ 1

Вы можете включить эти строки в свой Rakefile:

task :console do
  exec "irb -r mygem -I ./lib"
end

Это создаст задачу рейка для инициализации нового сеанса irb и предварительной загрузки вашей библиотеки. Теперь все, что вам нужно сделать, это:

$ rake console

Ответ 2

Я не могу рекомендовать это руководство от Райана Бигга достаточно: https://github.com/radar/guides/blob/master/gem-development.md. Он проводит вас через создание драгоценного камня с использованием Bundler и автоматическое тестирование. Вы можете разрабатывать свои функции, не имея при этом необходимости запускать свой код вручную. Это рабочий процесс, который я использую для разработки собственного драгоценного камня и до сих пор работал очень хорошо.

UPDATE: перечитывая ваш вопрос, кажется, что ваш драгоценный камень - это движок Rails. Я рекомендую посмотреть José Valim EngineX. Это генератор, который создает жемчужину с фиктивным приложением Rails для тестирования (https://github.com/josevalim/enginex). Если у вас уже много кода, http://keithschacht.com/creating-a-rails-3-engine-plugin-gem/ может помочь вам настроить фиктивное приложение для тестирования.

Ответ 3

Фактически вы можете:

cd ~/my_gem_path и bundle console

И это будет быстрый тест:

My::Gem::VERSION

Ответ 4

Вы можете ссылаться на gem локально, но если вы не хотите запускать bundle update каждый раз, когда вы меняете драгоценный камень, вы можете просто потребовать файлы, используя их полный путь, или, перемещая (или символизируя) вашу драгоценность в /vendor.

Но, если честно, похоже, вам нужно написать несколько тестов!;) Вручную проверять каждое изменение, которое вы совершаете, будет утомительным и подверженным ошибкам. Если вы новичок в написании драгоценных камней, посмотрите на источник других популярных драгоценных камней и посмотрите, как они протестированы.