在Rails 4中使用FactoryGirl创建模型实例时关闭观察者

时间:2013-07-03 12:06:12

标签: ruby-on-rails ruby rspec factory-bot ruby-on-rails-4

使用FactoryGirl.create创建对象时是否可以关闭模​​型的观察者(使用after_create操作)?

我想在开始测试之前创建一堆对象,但观察者会制动该过程。所以我希望在真正的测试开始之前关闭它。

1 个答案:

答案 0 :(得分:6)

似乎可以在应用程序中禁用所有观察者(或特定的观察者)。使用下面的代码在构造观察对象时关闭/打开它。

 FactoryGirl.define do

      factory :user do
        association :status, :factory => :user_status

        before(:create) do
          ActiveRecord::Base.observers.disable :user_observer
        end

        after(:create) do
          ActiveRecord::Base.observers.enable :user_observer
        end
      end
 end