1
我遇到的問題特定於與belongs_to和has_many的關係,其中has_many關係至少需要關聯一個關聯。此要求導致我的工廠無法通過我的模型級別驗證,也無法創建。Factory_girl與belongs_to/has_many關聯至少有1個關聯
我的集團模式
Group < ActiveRecord::Base
has_many :organizations, dependent: nullify
# commenting out the following line will make the tests pass
validates :organizations, presence: true
...
end
組織模型
Organization < ActiveRecord::Base
belongs_to :group
...
end
組織廠
FactoryGirl.define do
factory :organization
name "test organization"
end
end
最後孩子問題: 集團廠
FactoryGirl.define do
factory :group do
name "test group"
after(:create) do |group|
create(:organization, group: group)
end
end
end
,並在我的測試,我宣佈工廠實例:
describe "something happens with a Group" do
let(:group) { FactoryGirl.create :group }
it "should work" do
...
end
end
我的測試中返回的錯誤是多種多樣的,但一般都指向FactoryGirl是無法創建Group
工廠的實例。例如
# when a test relies on creating an instance of 'Group'
ActiveRecord::RecordInvalid:
Validation failed: Organizations can't be blank
我使用(回調)創建我的集團工廠的方法是從這個Thoughtbot後https://robots.thoughtbot.com/aint-no-calla-back-girl
還有很多類似的帖子,但所有的人都認爲我發現還有Thoughtbot文檔沒有提到這個特定的用例。提前致謝。
啊!這工作!哇,我厭倦了這一主題的一些變化,但我的語法錯了。很棒,謝謝! – sammms