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

最近は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
よかったらシェアしてね!

この記事を書いた人

情報工学専攻の修士課程を卒業後、某企業の情報系技術職として勤務。新しいことが好きなので、技術のキャッチアップをして発信しています。

■Skills
C / C++ / JavaScript / Python / Ruby / Git / HTML&CSS

■Hobby
旅行 / カメラ / 動画制作

コメント

コメントする

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

目次
閉じる