gpt4 book ai didi

ruby-on-rails - 关联工厂的工厂女孩​​唯一性验证失败

转载 作者:行者123 更新时间:2023-12-04 01:02:36 25 4
gpt4 key购买 nike

我有(简化的)工厂定义如下:

factory :league do
acronym 'NBA'
end

factory :division do
league
end

分区属于联赛。当我定义这个工厂时,我假设将创建 1 个联赛,并且该联赛将被一遍又一遍地重复使用,以便为分区提供一个真正的 League_id。

相反,我在第二次调用 FactoryGirl.create(:division) 时遇到错误因为联盟 acronym应该是独一无二的。
class League < ActiveRecord::Base
validates :acronym, uniqueness: true
end

导致以下测试中断

ActiveRecord::RecordInvalid: Validation failed: Acronym has already been taken



我该如何解决这个问题,最好不要在测试设置中创建层次结构?

如果我想要完成的事情比 factory_girl 更好,请提出建议

最佳答案

使用 initialize_with在你的联赛定义中。

http://robots.thoughtbot.com/post/16196616388/factory-girl-2-5-gets-custom-constructors

然后你可以发出 find_or_create_by_acronym以保证它被创建一次。

关于ruby-on-rails - 关联工厂的工厂女孩​​唯一性验证失败,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16726567/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com