LoginSignup
1
4

More than 3 years have passed since last update.

Rspecの導入手順

Posted at

はじめに

新しいプロジェクトを作成するさいにrspecの導入手順を毎回調べるのが面倒だったのでメモがてら残しておきます。

前提

・Ruby on Rails 5.2.3
・Ruby 2.5.1
rails new した直後の状態であること(controller、model等が作成されていない状態である)

Gemfileへ追加

何はともあれGemfileへ追加しなければはじまらない。

Gemfile
group :development, :test do
  gem 'rspec-rails', '~> 3.6.0'
end

本番環境(デプロイした状態)ではテスト実行することはないため、development、testへ上記コードを追加してください。

$ bin/bundle install

bundle installを実行し、rspecをインストールします。

テストデータベースの作成

もしテスト用データベースの設定をしていなければ設定する必要があります。

database.yml
test:
  <<: *default
  database: hogehoge_test

test箇所にdatabase名を設定しましょう。(hogehogeの箇所は自分のプロジェクトによって適宜修正)

$ bin/rails db:create:all

rails:db:createの実行。
allをつけることによってdatabase.ymlに記述している全てのデータベースの作成ができます。

Rspecの設定

Rspecをインストールしていきます。

$ bin/rails db:create:all

無事インストールされると下記4つのファイルが生成されます。

      create  .rspec
      create  spec
      create  spec/spec_helper.rb
      create  spec/rails_helper.rb

それぞれ、Rsepc用の設定ファイル(.rspec)、Rspec関連のファイルが格納されていくディレクトリ(spec)、Rspecのヘルパーファイル(spec_helper.rb、rails_helper.rb)になります。

また、好みで以下の設定を.rspecファイルに追加していきます。

.rspec
--require spec_helper
--foramat documentation
--warning

bintstubの設定

springを利用してRspecのテスト時間を短縮するための設定をしていきます。(ここら辺は設定しなくても大丈夫です)

Gemfile
group :development do
  gem 'spring-commands-rspec'
end

bundle installの実行

$ bin/bundle install

bintstupの設定

$ bundle exec spring bintstub rspec

正常にインストールされているか確認

以下のコマンドでRspecがインスールできているかどうか確認できます。

$ bin/rspec

あとは普通にmodel、controller等を追加、rspecコマンドでテスト生成をできるようになります。

参考文献

  • Everyday Rails - RSpecによるRailsテスト入門
1
4
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
1
4