2013-08-15 1 views
0

만든 후 관찰자에 트리거되지 않습니다 : 내 사양이after_create는 활동이 내 관찰자 코드가

require 'spec_helper' 

describe ActivityObserver do 
    describe '#after_create' do 
    it "should be triggered after an activity is created'" do 
     activity = create(:activity) 
     ActivityObserver.instance.should_receive(:after_create).with(activity) 
    end 
    end 
end 

class ActivityObserver < ActiveRecord::Observer 
    observe PublicActivity::Activity 

    def after_create(activity) 
    if activity.trackable 
     Something.create(trackable: trackable) 
    end 
    end 
end 

입니다

그러나

답변

1

움직임을 전달하고이를 편집하지 않았다 라인

ActivityObserver.instance.should_receive(:after_create) 

당신이 after_create 전화를 찾기 위해 RSpec을 이야기하기 전에 만들 호출

activity = create(:activity) 

이상, 그것은 아마도 이유는 실패

+0

감사합니다. 그러나 그것은 '예상 : 어떤 인수가있는 경우 1 회, 어떤 인수가있는 경우 2 회' – why

+0

실제로 create (: activity)는 무엇을합니까? 우리가 볼 수있는 소스 코드가 있습니까? – concept47

+0

네가 맞아, 또 고마워! – why