У меня есть приложение командной строки (NON-RAILS), написанное на чистом Ruby, которое я использую через Cucumber и RSpec.Он следует типичной иерархии приложений каталогов lib, bin, spec и feature.
До сих пор я следовал традиционному процессу написания отказавшего объекта / сценария Cucumber, переходя к RSpec для выводавспомогательные файлы lib, а затем выполнение сценария.
К сожалению, это не так просто, когда выгоняете основную точку входа приложения в "bin / my_application.rb".Основная проблема для меня заключается в том, что я не описываю класс в RSpec, это последовательный скрипт на Ruby для управления классами приложения и инициализации с помощью параметров и параметров командной строки.
"bin / my_application.rb"просто небольшая оболочка, выполняемая оболочкой, для анализа параметров командной строки и передачи их в мой основной класс приложения в качестве параметров инициализатора.Я все еще хотел бы проверить поведение скрипта bin (например, MyApp.should_receive (option_a) .with (параметр)).
Есть предложения / мысли / советы?Это нормальная стратегия тестирования для вытеснения поведения сценария Ruby из командной строки?
Заранее спасибо.