はじめに
RSpecを導入しようと思い記事を見ながら進めていたら
思った通りに進まずエラーの沼にハマってしまったので、忘れないようにまとめておこうと思います。
(Dockerを考慮出来ていなかったのがエラーの原因だったので、完全に自分のミスですが。)
前提
環境
Ruby 2.7系
Rails 6.1系
Docker 20.10.16
導入方法
①Gemfileに以下を追加します。
Gemfile
group :development, :test do
gem 'rspec-rails'
gem "factory_bot_rails" # ←なくても問題ありませんが、使用したかったので入れてます
end
②bundle install
ターミナル
% docker-compose run web bundle install
③build
私はこれを完全に忘れてしまっていました。超初歩的なミスなので、今後は気をつけます。
ターミナル
% docker-compose build
④インストール
ターミナル
% docker-compose run web rails g rspec:install
インストールすると「.rspec」というファイルが作られるので、そのファイルを開いて以下を追加します。
.rspec
--format documentation
この設定をすることでテスト実行時にログを詳細に見れるようになります。
特に気にしないのであれば必須ではありません。
RSpecの実行
ここまで出来たら導入は出来ているので実行してみましょう。
ターミナル
% docker-compose run web rspec
Creating xxx_web_run ... done
No examples found.
Finished in 0.00118 seconds (files took 3.39 seconds to load)
0 examples, 0 failures
まだ何も書いていないので 0 examplesですが、正常に実行できることは確認できました。
FactoryBotについては今回は割愛させていただきます。
参考にさせていただいた記事だけ紹介して終わりとします。
【RSpec初級編】FactoryBotを用いてテストコードを効率化する方法について解説