[RSpec 入門] Ruby on RailsアプリにRSpecを導入する方法

  • URLをコピーしました!

最近はRuby on RailsアプリのテストにminitestではなくRSpecを使用している企業さんも多いということで、個人アプリにRSpecを導入してみました。

ということでRSpecの導入方法を入門という形で簡単に説明します。

目次

Gemfileに追加

Bundlerを使ってRSpecをインストールします。

group :test do
  # ~ (omitted) ~
  gem 'rspec-rails'
end
bundle install

RSpecの初期設定

RSpecの初期設定をします。

bin/rails generate rspec:install

初期設定が完了するとspecディレクトリが作成されるので、そこにテストファイルを置いていくことになります。

RSpecの配置ルール/ディレクトリ構成

RSpecの配置ルールいわゆるディレクトリ構成は調べると色々あって混乱しますが、個人的にはこの構成が一番しっくりきました。

spec ー ー ー models 
     |
     |ー controllers
     |
     |ー views
     |
     |ー features
     |
     |ー support

MVCのディレクトリはminitestと同様で分かりやすいです。featuresは統合テスト、supportは共通処理/定義/設定用のディレクトリになります。

Rspec公式サイトを見るとviewsはsystemの方が良いかもなあとか混乱しましたが、個人アプリ開発の範疇であれば自分が分かりやすい構成でやるのが一番です。まあプロジェクトごとの規則に従えば良いと思います。

テストを作成する

Userモデルがあったとしてユーザーの存在性をテストする場合のテストを書いてみます。

require 'rails_helper'

RSpec.describe User, type: :model do
    let (:user) { User.new(name: "Example User", email: 'user@example.com')}

    it "should be valid" do
        expect(user).to be_valid
    end
end

テストを実行する

テストを実行します。

bundle exec rspec
よかったらシェアしてね!
  • URLをコピーしました!
  • URLをコピーしました!

この記事を書いた人

情報工学の修士号を取得後、新卒で大手メーカーに就職。2022年にWeb系企業に転職。
役立つサービスや日々思ったことを発信中。
趣味は旅行、カメラ、動画制作。

コメント

コメントする

日本語が含まれない投稿は無視されますのでご注意ください。(スパム対策)

目次