Tbpgr Blog

Employee Experience Engineer tbpgr(てぃーびー) のブログ

Ruby on Rails | Controllerのテスト | Controllerが保持しているインスタンス変数の検証

概要

Controllerのテスト | Controllerが保持しているインスタンス変数の検証

詳細

ControllerのテストのControllerが保持しているインスタンス変数の検証をします。

検証対象

Controller実行時のインスタンス変数の内容はassignsに格納されています。

サンプル

前提としてdeviseを使用。RSpecを使用。
User#indexは全てのユーザーの情報を返却するものとします。

ユーザーを6名登録して検証するテストケースが以下になります。

require 'spec_helper'

describe UsersController do
  include Devise::TestHelpers
  
  before(:each) do
    @login_user = FactoryGirl.create(:user)
    @other_users = []
    5.times {@other_users << FactoryGirl.create(:user)}
    @params = {
      :user_id => @login_user.id,
    }
  end

  describe "POST 'index'" do
    before(:each) do
      sign_in :user, @login_user
    end

    it "returns http success" do
      post 'index', @params
      response.should be_success
      assigns[:users].should == User.all
    end
  end
end