私のモデルでは、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
、切り捨てに 40 ミリ秒ではなく 25 秒かかります。
編集
資産が必要な工場
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
しかし、関連付けを自動的に注入する方法はありませんか?