Тестирование командной строки Thor

#ruby #thor

#ruby #thor

Вопрос:

Я пишу CLI с использованием Thor. Это выглядит следующим образом:

 module Cli
  class Root < Thor
    register Cli::Command :command, 'command [ARGUMENT]', 'description'
  end
end

module Cli
  class Command < Thor::Group
    include Thor::Actions

    argument :argument

    def template
      directory :template_dir, argument
    end
  end
end
  

Теперь я хотел бы протестировать это. А именно, я хочу проверить, что шаблоны создаются в правильных каталогах с учетом относительного и абсолютного пути. Однако я несколько не понимаю, как приступить к тестированию этого. Мы были бы очень признательны за любую помощь.

Ответ №1:

Чтобы протестировать Thor::Group , вы можете выполнить следующее:

 # my_spec.rb
describe Cli::Command do
  it 'should run the command' do
    Cli::Command.new.invoke_all
  end
end