คำถามติดแท็ก factory-bot

11
วิธีสร้าง has_and_belongs_to_many สมาคมใน Factory girl
ให้ดังต่อไปนี้ class User < ActiveRecord::Base has_and_belongs_to_many :companies end class Company < ActiveRecord::Base has_and_belongs_to_many :users end คุณกำหนดโรงงานสำหรับ บริษัท และผู้ใช้รวมถึงสมาคมแบบสองทิศทางได้อย่างไร นี่คือความพยายามของฉัน Factory.define :company do |f| f.users{ |users| [users.association :company]} end Factory.define :user do |f| f.companies{ |companies| [companies.association :user]} end ตอนนี้ฉันพยายาม Factory :user บางทีอาจจะไม่น่าแปลกใจที่สิ่งนี้ส่งผลให้เกิดการวนซ้ำที่ไม่มีที่สิ้นสุดเนื่องจากโรงงานต่างๆใช้กันและกันเพื่อกำหนดตัวเอง น่าแปลกใจที่ฉันไม่พบการกล่าวถึงวิธีการทำเช่นนี้จากที่ใดมีรูปแบบในการกำหนดโรงงานที่จำเป็นหรือฉันกำลังทำอะไรผิดพลาดโดยพื้นฐานหรือไม่?

8
ฉันจะใช้ Factory Girl เพื่อสร้างสิ่งที่แนบมากับคลิปหนีบกระดาษได้อย่างไร
ฉันมีโมเดลบุคคลที่มีรูปภาพจำนวนมากโดยที่รูปภาพมีฟิลด์แนบคลิปหนีบกระดาษที่เรียกว่าข้อมูลซึ่งเป็นเวอร์ชันย่อที่แสดงด้านล่าง: class Person has_many :images ... end class Image has_attached_file :data belongs_to :person ... end บุคคลจะต้องมีอย่างน้อยหนึ่งภาพติดอยู่ เมื่อใช้ FactoryGirl ฉันมีรหัสคล้ายกับสิ่งต่อไปนี้: Factory.define :image do |a| a.data { File.new(File.join(Rails.root, 'features', 'support', 'file.png')) } a.association :person end Factory.define :person do |p| p.first_name 'Keyzer' p.last_name 'Soze' p.after_create do |person| person.assets = [Factory.build(:image, :person => person)] …

16
ข้ามการโทรกลับใน Factory Girl และ Rspec
ฉันกำลังทดสอบโมเดลด้วยการโทรกลับหลังสร้างที่ฉันต้องการเรียกใช้ในบางครั้งเท่านั้นในขณะทดสอบ ฉันจะข้าม / เรียกใช้การโทรกลับจากโรงงานได้อย่างไร class User < ActiveRecord::Base after_create :run_something ... end โรงงาน: FactoryGirl.define do factory :user do first_name "Luiz" last_name "Branco" ... # skip callback factory :with_run_something do # run callback end end

3
อะไรคือความแตกต่างระหว่างวิธีการสร้างและการสร้างใน FactoryGirl?
บทนำของ Factory Girl จะอธิบายความแตกต่างระหว่างFactoryGirl.build()และFactoryGirl.create(): # Returns a User instance that's not saved user = FactoryGirl.build(:user) # Returns a saved User instance user = FactoryGirl.create(:user) ฉันยังไม่เข้าใจความแตกต่างในทางปฏิบัติระหว่างทั้งสอง ใครช่วยยกตัวอย่างที่คุณต้องการใช้ไม่ใช่อีกแบบ ขอบคุณ!
97 ruby  factory-bot 

3
ฉันจะใช้โรงงานจาก FactoryGirl ในคอนโซลรางได้อย่างไร
ฉันใช้คอนโซลรางในสภาพแวดล้อมการพัฒนาและฉันต้องการใช้โรงงาน ฉันจะเข้าถึงได้อย่างไร? ฉันได้ลองแล้วrequire "FactoryGirl"ซึ่งผลตอบแทน 1.9.3p393 :301 > require "FactoryGirl" LoadError: cannot load such file -- FactoryGirl

5
วิธีตั้งค่าโรงงานใน FactoryGirl ด้วย has_many สมาคม
ใครช่วยบอกหน่อยได้ไหมว่าฉันแค่ตั้งค่าผิดวิธี ฉันมีโมเดลต่อไปนี้ที่มี has_many ผ่านการเชื่อมโยง: class Listing < ActiveRecord::Base attr_accessible ... has_many :listing_features has_many :features, :through => :listing_features validates_presence_of ... ... end class Feature < ActiveRecord::Base attr_accessible ... validates_presence_of ... validates_uniqueness_of ... has_many :listing_features has_many :listings, :through => :listing_features end class ListingFeature < ActiveRecord::Base attr_accessible :feature_id, :listing_id belongs_to :feature belongs_to :listing …

4
Faker สร้างข้อมูลซ้ำเมื่อใช้ใน factory_girl
ฉันพยายามเติมข้อมูลปลอมในโรงงานโดยใช้ Faker gem: Factory.define :user do |user| user.first_name Faker::Name::first_name user.last_name Faker::Name::last_name user.sequence(:email) {|n| "user#{n}@blow.com" } end อย่างไรก็ตามในขณะที่ฉันคาดว่าสิ่งนี้จะสร้างผู้ใช้ที่มี first_name และ last_names ต่างกัน แต่แต่ละคนก็เหมือนกัน: >> Factory(:user) => #<User id: 16, email: "user7@blow.com", created_at: "2011-03-18 18:29:33", updated_at: "2011-03-18 18:29:33", first_name: "Bailey", last_name: "Durgan"> >> Factory(:user) => #<User id: 17, email: "user8@blow.com", created_at: "2011-03-18 …
โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.