RSpecのセットアップ
Rspecとは
RspecとはRubyやRuby 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
参考文献