Какова рекомендуемая структура папок для приложения командной строки Ruby с тестами?

#ruby #command-line #rspec #rubygems

#ruby #командная строка #rspec #rubygems

Вопрос:

Я новичок в экосистеме разработки Ruby и в свободное время изучаю Rails. Тем не менее, я хотел бы создать приложение командной строки с нуля с помощью модульных тестов в рамках моего обучения.

Какова рекомендуемая структура для проекта командной строки Ruby? То, что я придумал, это

 /test
  - person_test.rb
/src
  - person.rb
main.rb
Gemfile
Gemfile.lock
  

Спасибо

Комментарии:

1. Bundler можно использовать для создания структуры ruby gems. В RubyGems также есть руководство по лучшим практикам при создании приложений ruby. Короче говоря, у вас будет папка lib, в которой находятся все ваши файлы ruby, тестовая папка для ваших тестов и папка bin, в которой есть скрипт для запуска вашего cmd-приложения.

Ответ №1:

Модульные тесты для Gems

Если вы используете MiniTest или аналогичный, ожидаемым местом в gem foo будет foo/test . Если вы используете RSpec или minitest / spec, то вместо этого вы бы использовали foo/spec .

Когда вы создаете новый скелет gem с помощью Bundler, он предоставляет следующие значения по умолчанию:

 $ bundle gem foo; tree foo
  
 foo
├── Gemfile
├── README.md
├── Rakefile
├── bin
│   ├── console
│   └── setup
├── foo.gemspec
├── lib
│   ├── foo
│   │   └── version.rb
│   └── foo.rb
└── spec
    ├── foo_spec.rb
    └── spec_helper.rb

4 directories, 10 files
  

Файл Rakefile по умолчанию настроен на запуск RSpec, но вы, безусловно, можете реализовать задачу файла Rakefile по умолчанию и свои тесты любым удобным для вас способом.