是否可以在使用 FactoryGirl.create 创建对象时关闭模型的观察者(使用 after_create 操作)?
我想在开始测试之前创建一堆对象,但观察者会阻止这个过程。所以我想在真正的测试开始之前把它关掉。
是否可以在使用 FactoryGirl.create 创建对象时关闭模型的观察者(使用 after_create 操作)?
我想在开始测试之前创建一堆对象,但观察者会阻止这个过程。所以我想在真正的测试开始之前把它关掉。
似乎可以禁用应用程序中的所有观察者(或特定观察者)。在构造观察到的对象时,使用下面的代码将其关闭/打开。
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