我是 Rails 测试的新手,我有一个问题:假设我的控制器中有一个简单的场景:
class UsersController < ApplicationController
def create
@user = User.create(params[:user])
if params[:user][:birth_date]
Birthday.create(:title => "#{user.first_name} #{user.last_name}'s Birthday!", :date => params[:user][:birth_date].to_date, :user_id => @user.id)
end
end
def update
@user = User.find(params[:id])
@user.update_attributes(params[:user])
if params[:user][:birth_date]
@birthday = Birthday.find_by_user_id(@user.id)
@birthday.update_attributes(:date => params[:user][:birth_date].to_date) if @birthday
end
end
end
我想测试每次创建用户时都会创建生日事件并且它的属性设置正确。在我的特定(真实)案例中,当创建(或更新)另一个对象时创建(或更新)一个新对象,并且计算并自动设置了许多属性。我需要测试它们是否设置正确。我该如何测试它?