🙆♂️
RSpecの導入(docker利用)
RSpecを導入した際の備忘録です。
(自分の場合はminitestがすでに導入されている環境です)
こちらの記事を参照させていただきながら導入しました。
まずGemfileにRSpecのgemを記入します。
あわせてRubyのテストデータ作成ライブラリであるFactoryBotも追加します。
FactoryBotを使うとテストデータの作成が簡単になり、テストコードが読みやすくなると共に保守性も向上するようです。
Gemfile
group :development, :test do
・
・
gem 'rspec-rails'
gem 'factory_bot_rails'
end
gemfileを更新したのでイメージをビルド
ターミナル
docker-compose build サービス名
それぞれインストールできたか確認
ターミナル
docker-compose run --rm サービス名 bundle info rspec-rails
docker-compose run --rm サービス名 bundle info factory_bot_rails
無事に導入できました。
つづいてrails gでファイル類を作成
ターミナル
docker-compose run --rm サービス名 bin/rails g rspec:install
ファイルが作成された
出力がドキュメント形式になって見やすくなるため以下を.rspecに記入
.rspec
--format documentation
rspecの動作の確認
.ターミナル
docker-compose run --rm サービス名 bundle exec rspec
問題なく起動することを確認
生成されるテストファイルをRSpecにして、使用頻度の高くないSpecファイルが生成されないように設定
config/application.rb
module App
class Application < Rails::Application
.
.
config.generators do |g|
g.test_framework :rspec,
view_specs: false,
helper_specs: false,
routing_specs: false
end
end
end
最後にminitest用のフォルダを削除して終了です。
ターミナル
rm -rf test/
Discussion