Suica版自動販売機問題の課題をRubyで解くための解答テンプレートです。
このリポジトリを自分のGitHubアカウントにフォークする
自分のローカルにフォークしたリポジトリをclone(your-nameの部分は自分のアカウントIDを入れる)
$ git clone git@github.com:your-name/vending-machine-in-ruby
$ cd vending-machine-in-ruby
Ruby 2.7.1になっていることを確認(なっていなければrbenvでRuby 2.7.1をインストール)
$ ruby -v
ruby 2.7.1p83 (2020-03-31 revision a0c7c23c9c) [x86_64-darwin19]
gemのインストール
$ bundle install
動作確認用のテストがパスすればセットアップ完了。
$ bundle exec rake
Run options: --seed 56203
# Running:
..
Finished in 0.001101s, 1816.5304 runs/s, 1816.5304 assertions/s.
2 runs, 2 assertions, 0 failures, 0 errors, 0 skips
test/vending_machine_test.rb
やlib/vending_machine.rb
にテストコードや実装コードを書いて、自動販売機問題を解いていく- 必要に応じて
lib/
やtest/
にファイルを追加してもOK
puts
やprint
を使わず、メソッドの戻り値として要件を満たすようにすると、テストコードが書きやすくなる。以下、参考資料。
- きみたちは今まで何のためにRailsでMVCパターンを勉強してきたのか - Qiita
- 「プロを目指す人のためのRuby入門」3.3.1項「putsメソッドをテストコードに置き換える」
MIT License.