Tag: 工厂女孩

FactoryGirl和多态关联

该devise 我有一个用户模型,属于通过多态关联configuration文件。 我select这个devise的原因可以在这里find。 总而言之,应用程序的许多用户具有真正不同的configuration文件。 class User < ActiveRecord::Base belongs_to :profile, :dependent => :destroy, :polymorphic => true end class Artist < ActiveRecord::Base has_one :user, :as => :profile end class Musician < ActiveRecord::Base has_one :user, :as => :profile end select这个devise后,我很难得出好的testing。 使用FactoryGirl和RSpec,我不知道如何声明关联最有效的方法。 第一次尝试 factories.rb Factory.define :user do |f| # … attributes on the user # this creates a […]

如何用has_many关联在FactoryGirl中设置工厂

有人能告诉我,如果我只是在错误的方式进行安装? 我有以下有has_many.through关联的模型: 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 end 我使用的是Rails 3.1.rc4,FactoryGirl 2.0.2,factory_girl_rails 1.1.0和rspec。 这里是我的基本rspec rspec完整性检查:listing工厂: […]

FactoryGirl的构build和创build方法有什么区别?

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) 我还是不了解两者的实际区别。 有人可以举一个例子,你想使用一个而不是另一个吗? 谢谢!

跳过Factory Girl和Rspec的callback

我正在使用after createcallback来testing一个模型,我只想在testing的时候在某些场合运行。 我怎样才能跳过/运行工厂callback? 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

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 18:29:39", updated_at: "2011-03-18 18:29:39", first_name: "Bailey", last_name: "Durgan"> 我怎样才能让Faker gem为每个用户生成新的名字,而不是只重用原来的名字?

如何在Factory Girl中创buildhas_and_belongs_to_many关联

鉴于以下 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 也许毫不奇怪的是,当工厂recursion地使用彼此来定义自己时,这导致无限循环。 更令人惊讶的是,我还没有发现如何在任何地方做到这一点,有没有一种模式来定义必要的工厂,或者我正在做一些根本性的错误?

如何使用工厂女生生成回形针附件?

我有模型人有很多图像,其中图像有一个Paperclip附件字段称为数据,缩写版本显示如下: class Person has_many :images … end class Image has_attached_file :data belongs_to :person … end 人员必须至less有一个图像附加到它。 使用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)] end # p.images {|images| [images.association(:image)]} end (NB我也试过上面的代码也试过了)大多数时候我运行黄瓜function的时候,出现类似如下的错误: […]