我正在学习如何编写测试,所以我正在为我编写的一个小方法编写一个。我想调用这个方法,update_user_region_id
我应该期待user
对象发生变化。
def update_user_region_id(user_id, region_id)
user = User.where(id: user_id).first
region = Region.where(id: region_id).first
return if user.nil?
user.region_id = region_id
user.region = region.name
user.save!
end
update_user_region_id
是从另一个方法调用的方法(不确定这是否相关)。
对于我的测试,我写了:
it 'should update user region id' do
user = Factory :user
city = Factory :city
expect{
update_user_region_id(user.id, city.id)
}.to change(user, :region_id)
end
我不断收到以下错误:
undefined method `update_user_region_id' for #<RSpec::Core::ExampleGroup::Nested_1:0x007f9e0a57f490>
1. 这是一个很好的测试吗?
2. 我该如何解决这个测试?
谢谢。