日別アーカイブ: 2022年2月15日

RSpecをインストールする方法

RSpecを使いたい時に見る記事

1:Gemfileに以下を追加して保存します。

source 'https://rubygems.org'
git_source(:github) { |repo| "https://github.com/#{repo}.git" }

:
(省略)
:

group :development, :test do
# Call 'byebug' anywhere in the code to stop execution and get a debugger console
gem 'byebug', platforms: [:mri, :mingw, :x64_mingw]

# 追加
gem 'rspec-rails', '~> 3.8'
gem 'factory_bot_rails', '~> 5.0'


end

group :development do

:
(省略)
:

end

# Windows does not include zoneinfo files, so bundle the tzinfo-data gem
gem 'tzinfo-data', platforms: [:mingw, :mswin, :x64_mingw, :jruby]

Gemをインストールします。

 bundle install

2. インストールされているか確認します。

RSpecがインストールされているか確認します。

bundle exec rspec --version

上記のコマンドを実行するとターミナルに以下のような実行結果が表示されます。

bundle exec rspec --version
RSpec 3.8
- rspec-core 3.8.2
- rspec-expectations 3.8.4
- rspec-mocks 3.8.1
- rspec-rails 3.8.2
- rspec-support 3.8.2

FactoryBotがインストールされているか確認します。

bundle exec gem list | grep factory_bot_rails

上記のコマンドを実行するとターミナルに以下のような実行結果が表示されます。

bundle exec gem list | grep factory_bot_rails
factory_bot_rails (5.0.2)

3. サンプルアプリでRSpecを利用できるようにする

サンプルアプリのプロジェクトにRSpecを導入します。

rails generate rspec:install

上記のコマンドを実行すると以下のファイルが生成されます。

アプリ名
└── spec
├── rails_helper.rb
└── spec_helper.rb

テスト用のDBを最新の構成にします。

rails db:migrate:reset RAILS_ENV=test

テスト用のDBとは自動テストを実行するときに利用する専用のDBです。
例えば自動テストで「全データが消えること」を確認するとき、
開発中に利用しているデータが消えてしまっては困ります。

開発中のデータと自動テスト用のデータを分離して考えることで、双方が干渉しないようになります。