
RSpecの初期設定
RailsのプロジェクトでテストフレームワークはRSpecを使っています。
プロジェクト開始時に設定するのですが、あまり設定することもないので、毎回調べて時間がかかってしまいます。なので、備忘録として手順を記載します。
gemの追加
まずgemを追加します。FactoryBotも利用するのでついでに追加します。
1 | group :development, :test do |
bundle installします
1 | $ docker compose run --rm web ./bin/bundle install |
インストールができました。GemfileとGemfile.lockをcommitしておきます。
RSpecの設定
RSpecの設定ファイル等を生成するgeneratorがあるので実行します。
1 | $ docker compose run --rm web ./bin/rails g rspec:install |
出力のカスタマイズ
出力をドキュメント形式にするために、.rspecに以下の行を追加します。
1 | $ vi .rspec |
(2行目を追加)
動作確認
ここで正しく動作するか確認します。
1 | $ docker compose run --rm web bundle exec rspec |
このように表示されればOKです。
binstubを作成する
毎回bundle exec rspecとタイプするのは面倒なので、binstubを作成して./bin/rspecとシェルの補完機能も使いながらタイプ数を減らしたいと思います。
1 | $ docker compose run --rm web bundle binstubs rspec-core |
bin/rspecというファイルが作成されました。
今度はbinstubを利用して実行してみます。
1 | $ docker compose run --rm web ./bin/rspec |
同じように実行できました。
RSpecを利用するよう設定
generatorで自動生成するファイルをRSpecのファイルにしたいので、利用するテストフレームワークがRSpecだということをRailsに伝えます。
1 | $ vi config/application.rb |
上記のコードを追加することで、generatorがRSpecのファイルを生成してくれます。
まとめ
今後もテストフレームワークはRSpecを利用していくと思うので、導入手順をまとめました。
参考図書にリンクを記載したeveryday-railsですが、著者の伊藤さんが日本語版独自の改訂を続けてくれています。一度購入するとその後の改訂版は無料で受け取ることができます。とてもためになる書籍なので読んでみることを強くおすすめします。