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です。
例えば自動テストで「全データが消えること」を確認するとき、
開発中に利用しているデータが消えてしまっては困ります。
開発中のデータと自動テスト用のデータを分離して考えることで、双方が干渉しないようになります。