在我的模型中,我必须选择保存在editorial_asset
表格中的资产。
include ActionDispatch::TestProcess
FactoryGirl.define do
factory :editorial_asset do
editorial_asset { fixture_file_upload("#{Rails.root}/spec/fixtures/files/fakeUp.png", "image/png") }
end
end
所以我在我的模型工厂中附加了一个关联:editorial_asset
上传效果很好,但需要太多时间(每个示例 1 秒)
我想知道是否可以在每个示例之前创建一次上传,并在工厂中说:“查找而不是创建”
但是 database_cleaner 的问题,我不能除了表:transaction
,截断需要 25 秒而不是 40 毫秒!
编辑
需要资产的工厂
FactoryGirl.define do
factory :actu do
sequence(:title) {|n| "Actu #{n}"}
sequence(:subtitle) {|n| "Sous-sitre #{n}"}
body Lipsum.paragraphs[3]
# Associations
user
# editorial_asset
end
end
型号规格
require 'spec_helper'
describe Actu do
before(:all) do
@asset = create(:editorial_asset)
end
after(:all) do
EditorialAsset.destroy_all
end
it "has a valid factory" do
create(:actu).should be_valid
end
end
所以一种工作方式是
it "has a valid factory" do
create(:actu, editorial_asset: @asset).should be_valid
end
但是没有办法自动注入关联?