[Rails] RSpecのセットアップ

学習記録

はじめに

Rspenのセットアップの仕方を見ていきましょう。公式を参考にします。

Rspecとは

RSpecテストフレームワークをRuby on Railsに導入し、デフォルトのテストフレームワークであるMinitestに代わるドロップインツールです。

RSpecでは、テストは単にアプリケーション コードを検証するスクリプトではありません。テストは、アプリケーションのコードを検証するスクリプトではなく、アプリケーションがどのように動作するかを平易な言葉で詳細に説明する仕様書でもあります。

作業の流れ

  • GitHubリポジトリをコピーしてくる
  • gemをインストール
  • Rspecに必要な生成ファイルをインストール
  • TaskモデルのRspecファイルを作成
  • テストを実行

GitHubリポジトリをコピーしてくる

GitHubの対象リポジトリからforkし、ターミナルからcloneします。

$ git clone URL

ブランチ切り替え

$ git switch -c ブランチ名

gemをインストール

group :development, :test do
  gem 'byebug', platforms: %i[mri mingw x64_mingw]
  gem 'factory_bot_rails'
  gem 'rspec-rails', '~> 5.0.0'
end
$ bundle install

Rspecに必要な生成ファイルをインストール

$ bundle exec rails generate rspec:install                                                                              01_setup
Running via Spring preloader in process 65071
      create  .rspec
      create  spec
      create  spec/spec_helper.rb
      create  spec/rails_helper.rb

TaskモデルのRspecファイルを作成

$ bundle exec rails generate rspec:model task                                                                        01_setup
Running via Spring preloader in process 65269
      create  spec/models/task_spec.rb
      invoke  factory_bot
      create    spec/factories/tasks.rb

テストを実行

$ bundle exec rspec                                                                                                      develop
*

Pending: (Failures listed here are expected and do not affect your suite's status)

  1) Task add some examples to (or delete) /Users/takahashishuuhei/workspace/runteq/rspec_beginner/sample_app_for_rspec/spec/models/task_spec.rb
     # Not yet implemented
     # ./spec/models/task_spec.rb:4


Finished in 0.00251 seconds (files took 1.16 seconds to load)
1 example, 0 failures, 1 pending

テストが実行されたことが確認できました。

プルリクエストしてマージ

フォーク元のリポジトリではなく、作ったローカルブランチから自分のGitHubリポジトリにプルリクエストしましょう。

ローカル上でdevelopブランチを最新にしておきます。

$ git switch develop
$ git pull origin develop

参考記事

GitHub - rspec/rspec-rails: RSpec for Rails 5+
RSpec for Rails 5+. Contribute to rspec/rspec-rails development by creating an account on GitHub.

コメント

タイトルとURLをコピーしました