#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 по умолчанию и свои тесты любым удобным для вас способом.