Ryota400’s blog

エンジニアを目指して書いてます。

RSpecのセットアップ

Rspecとは

RspecとはRubyRuby on Railsで作ったクラスやメソッドをテストするためのドメイン特化言語 (DSL)を使ったフレームワーク

特徴

Ruby on Railsのテストサポート

モックやスタブ(擬似的なクラス)によるテスト支援

テストデータの作成支援

カバレッジツールとの連携(ソースコードが実行された割合を確認するツール)

テスト結果のHTML出力機能

テストの進め方

RSpecに限らずユニットテストの進め方には原則というものがあります。

1.プログラムを書く前にテストコードを書く

2.テスト実行して失敗することを確認する

3.テストが成功するようにプログラムを書く

4.初めに戻る

を繰り返し行います。

このように、コーディングする前にテストコードを書くことを、テストファーストという。

開発手法でいえばTDD(テスト駆動開発)とか、BDD(振る舞い駆動開発)に分類される開発方法

Rspecの環境構築

Gemfile.rb

group :development, :test do
    gem 'rspec-rails', '~> 4.0.0' #Rails 5.xでRspecを使用する場合、このようにバージョン指定する。
    gem 'factory_bot_rails'
  end
bundle install
rails g rspec:install

このコマンドを実行することで、specディレクトリと設定ファイル(.rspec, spec_helper.rb, rails_helper.rb)が生成される

gitignore

 /vender/bundle

vendor/bundle以下に取得したRubyのライブラリをリモートリポジトリにプッシュしたくないため、.gitignoreに/vender/bundleを書く

FactoryBot

FactoryBotは、テスト用のオブジェクトを生成するための、オブジェクトの「工場」をつくるような存在です。 フォルダーspecの下に、フォルダーfactoriesを作成する。

spec/factories/tasks.rb

FactoryBot.define do
  factory :task do

  end
end

参考文献

www.sejuku.net

agency-star.co.jp