0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

【Rails】RSpecを使用したモデルの単体テスト

Last updated at Posted at 2025-05-06

記事概要

Ruby on Railsのモデル単体テストについて、まとめる

前提

  • Ruby on Railsでアプリケーションを作成している
  • アプリにRSpecをインストールしている
  • RSpecの設定が完了している

RSpecとは

モデルテストコードを書く方針

インスタンスを生成し、それがモデルに規定したどおりの挙動になるか、を確かめる
例)バリデーションが正しく働くか

手順(テストファイル作成)

  1. モデルのテストファイルを生成するため、下記コマンドを実行する
    # アプリのディレクトリに移動
    % cd ~/[アプリ名]
    
    % rails g rspec:model [モデル名]
    
  2. spec/models/モデル名_spec.rbが作成されたことを確認する
  3. モデル名_spec.rbrequire 'rails_helper'が記述されていることを確認する
    require 'rails_helper'
    
    RSpec.describe モデル名, type: :model do
      pending "add some examples to (or delete) #{__FILE__}"
    end
    
  4. 上記からpending "add some examples to (or delete) #{__FILE__}"を削除する
    require 'rails_helper'
    
    RSpec.describe モデル名, type: :model do
      
    end
    

手順(テスト用ダミー画像の用意)

手順(テストケースの記述)

  1. [モデル名]_spec.rbにテストケースを記述する
    1. 機能別・条件別・テスト詳細別にグループ分けを行う
    2. 保存するデータ(インスタンス)を作成する
    3. テストコードを記述する
      ※各テストコードが想定通りに実行できるかを確認するため、rails cコマンドでコンソールを起動して確認を行う

手順(テストファイルの実行)

  1. テストファイルを実行するため、下記コマンドを実行する
    # アプリのディレクトリに移動
    % cd ~/[アプリ名]
    
    % bundle exec rspec spec/models/モデル名_spec.rb 
    
  2. ターミナル.appで正常完了していることを確認する
    結果が緑色で表示されれば実行成功

Ruby on Railsまとめ

0
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?