2

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

我想在开始测试之前创建一堆对象,但观察者会阻止这个过程。所以我想在真正的测试开始之前把它关掉。

4

1 回答 1

7

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

 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
于 2013-07-08T13:45:13.133 回答