Railsのテスト環境 RSpec とは?!


RSpecとは

RSpec とは Ruby プログラマー向けの BDD(Behaviour-Driven Development) ツールです。
事前にエラーになる可能性がある箇所を発見後修正したり、要件の漏れを防ぐことができます。
例えば、現在数万人を超える自社WEBアプリを運用していてテストコードなしで、本番アプリケーションに適用してしまいバグが発生しそのサービスが停止してしまった場合、損失は計り知れないものになります。
エンジニアは、あらゆるケースを想定しテストコードを書く必要があります。

gemのインストール

※テスト環境に追記します。

gem 'rspec-rails'
group :development do
  gem 'web-console'
end

ターミナルでこちらのコマンドの実行をお忘れなく

$ bundler install

web-console

RSpecの基本設定をする

Gemfile
$ rails g rspec:install
Running via Spring preloader in process 17507
      create  .rspec
      create  spec
      create  spec/spec_helper.rb
      create  spec/rails_helper.rb

RSpecで必要なファイルが複数できました。

【rails_helper.rb】
Railsで、RSpecを使う際に共通の設定を書いておくファイルです。各テスト用ファイルでこちらのファイルを読み込むことで、共通の設定や、メソッドを適用します。

【spec_helper.rb】
RSpec用の共通の設定を書いておくファイルですが、こちらはRSpecをRails無しで利用する際に利用します。

オプションを追加するとテキスト出力や、並行表示とかもできるようになる。
以下を追加しましょう。

.rspec
--format documentation

RSpecが正常に動作するか確認する

$ bundle exec rspec

Finished in 0.00053 seconds (files took 0.21178 seconds to load)
0 examples, 0 failures

RSpecのディレクトリ構造

spec/rails_helper.rb
spec/spec_helper.rb

単体テスト