dav*_*v_i 6 ruby ruby-on-rails factory-bot
我有以下工厂:
FactoryGirl.define do
factory :foo do
sequence(:name) { |n| "Foo #{n}" }
trait :y do
sequence(:name) { |n| "Fooy #{n}" }
end
end
end
Run Code Online (Sandbox Code Playgroud)
如果我跑
create :foo
create :foo
create :foo, :y
Run Code Online (Sandbox Code Playgroud)
我得到Foo 1, Foo 2, Fooy 1
.但我想要Foo1, Foo2, Fooy 3
.我怎样才能做到这一点?
从smile2day's answer和this answer得到一些提示后,我得出了以下解决方案:
FactoryGirl.define do
sequence :base_name do |n|
" #{n}"
end
factory :foo do
name { "Foo " + generate(:base_name) }
trait :y do
name { "Fooy " + generate(:base_name) }
end
end
end
Run Code Online (Sandbox Code Playgroud)
归档时间: |
|
查看次数: |
1492 次 |
最近记录: |