2014-02-12 5 views
0

* after_create * hook이 트리거 될 때 uuid를 설정해야하는 모델이 있습니다. 필자는 FactoryGirl을 사용하여 사양 내에서 모델을 만들었습니다. 문제의 해결 방법을 고민하고 있습니다.RSpec : FactoryGirl을 사용하여 ActiveRecord 후크를 테스트하는 가장 좋은 방법

user = FactoryGirl.build(:user, guid: nil) 
user.save! 
user.uuid.should_not be_nil 

그러나 분명히 전화 저장 후크 및 방법 후 * attach_uuid *가 트리거되지 않은 :

class User < ActiveRecord::Base 
    after_create: attach_uuid 

    def attach_uuid 
    self.uuid = SecureRandom.uuid 
    end 
end 

그리고 내 사양은 같다. 어떤 아이디어, 어떻게 만든 후 이런 종류의 행동을 테스트?

답변

1

당신은 RSpec에

user = FactoryGirl.build(:user, guid: nil) 
user.save! 
user.reload.uuid.should_not be_nil 
에서 개체를 다시로드한다
관련 문제