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 回答