レッド describe UsersController, “ の show アクション” do it “ において、ステータスコード 200 を返すこと” do get :show, :user_name => “tsukasa” response.should be_success end end
レッド ひとつのテストの粒度は できるだけ 細かく 小さく
レッド 1) ActionController::UnknownAction in 'UsersController の show アクション において、ステータスコード 200 を返すこと ' No action responded to show ./spec/controllers/users_controller_spec.rb:6: Finished in 0.222733 seconds 1 examples, 1 failure
グリーン class UsersController < ApplicationController def index end end
グリーン Finished in 0.127367 seconds 1 examples, 0 failures リファクタリングは不要
レッド it “ において、指定されたユーザ名のユーザオブジェクトを取得すること” do get :show, :user_name => “tsukasa” assigns[:user].should be_kind_of(User) assigns[:user].should == users(:tsukasa) end ↓ 失敗
グリーン class UsersController < ApplicationController def index @user = User.find(:first, :conditions => [“name = ?”, params[:user_name]) end end ↓ 成功
リファクタリング class UsersController < ApplicationController def index @user = User.find_by_name(params[:user_name]) end end ↓ 成功
0 comments
Post a comment