0

私のオブザーバーコードがあります:

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

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

私のスペックは

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

でも通らなかった

4

1 に答える 1

1

この行を移動して編集します

ActivityObserver.instance.should_receive(:after_create)

その上

activity = create(:activity)

Rspecにafter_create呼び出しを探すように指示する前にcreateを呼び出しています。おそらくそれが失敗する理由です

于 2013-08-15T02:18:43.567 に答える