はじめに
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.
コメント