Tag: 工厂女孩

FactoryGirl:多次创build相同的对象

在我的一个rspectesting中,我从同一个工厂定义创build了多个对象 例如 FactoryGirl.create(:model_1) FactoryGirl.create(:model_1) FactoryGirl.create(:model_1) 有没有一种方法, factory_girl提供这样做在一行 我知道我可以做到 3.times {FactoryGirl.create(:model_1)} 但是我正在寻找factory_girl提供的用于创build同一模型的多个对象的东西。

在factory_girl中填充与小孩的关联

我有一个has_many'Bar'的Foo模型。 我有一个factory_girl工厂为每个这些对象。 Bar的工厂有一个Foo的协会; 它会在创buildBar时实例化一个Foo。 我想要一个创build一个包含一个Bar的Foo的工厂。 理想情况下,这个Bar将通过:bar工厂创build,并且尊重用于创buildFoo的构build策略(创build/构build)。 我知道我可以调用:bar工厂,然后从新Bar中获取Foo引用。 我想避免这个; 在我的testing案例中,重要的对象是Foo; 打电话给Bar工厂似乎有点迂回。 另外,我可以看到有多个酒吧的Foo的需要。 这可能在factory_girl? 你如何在家长中定义这种关系?

在具有唯一约束的关联的Rails中使用factory_girl。 获取重复的错误

我正在使用Rails 2.2项目来更新它。 我正在用工厂replace现有的灯具(使用factory_girl),并有一些问题。 问题在于使用查找数据表示表的模型。 当我创build具有相同产品types的两种产品的购物车时,每个创build的产品都将重新创build相同的产品types。 产品types模型上的唯一validation的这个错误。 问题示范 这是从一个unit testing,我创build一个车,把它放在一起。 我必须这样做来解决这个问题。 这仍然表明了问题。 我会解释。 cart = Factory(:cart) cart.cart_items = [Factory(:cart_item, :cart => cart, :product => Factory(:added_users_product)), Factory(:cart_item, :cart => cart, :product => Factory(:added_profiles_product))] 所添加的两个产品是相同的types,每个产品创build时都会重新创build产品types并创build重复项。 生成的错误是:“ActiveRecord :: RecordInvalid:validation失败:名称已被占用,代码已被占用” 解决方法 此示例的解决方法是覆盖正在使用的产品types并传入特定的实例,因此只使用一个实例。 “add_product_type”提前获取并传入每个购物车项目。 cart = Factory(:cart) prod_type = Factory(:add_product_type) #New cart.cart_items = [Factory(:cart_item, :cart => cart, :product => Factory(:added_users_product, :product_type […]

FactoryGirl能否在模型创build后生成工厂?

当在你的dev和gemfile的testing块中包含factory_girl_rails gem时,rails会在你的模型生成时自动生成工厂。 模型生成后有没有办法生成工厂? 爱德华多桑塔纳的答案应该是正确的

机械师vs FactoryGirl – 优点和缺点

我正在与factory_girl工作,但看着机械师的gem。 你能告诉我 – 迁移到机械师有什么优点和缺点? 你比较这些库吗?

升级到devise3.1 =>重置密码令牌无效

解 由于这个要求,史蒂文·哈曼,我得到了它的工作。 devise_mail_helpers.rb module Features module MailHelpers def last_email ActionMailer::Base.deliveries[0] end # Can be used like: # extract_token_from_email(:reset_password) def extract_token_from_email(token_name) mail_body = last_email.body.to_s mail_body[/#{token_name.to_s}_token=([^"]+)/, 1] end end end 我将文件devise_mail_helpers.rb添加到function规格所在的文件夹中,并编写了这个规范。 require 'devise_mail_helpers.rb' include Features include MailHelpers describe "PasswordResets" do it "emails user when requesting password reset" do user = FactoryGirl.create(:user) visit root_url find("#login_link").click click_link "Forgot your […]

Rails 3.2,RSpec,Factory Girl:NameError:未初始化的常量Factory

我一直在跟随这个入门到Railstesting,我遇到了一个问题,我似乎无法find解决scheme。 我对Rails非常熟悉,但是这是我第一次进入testing阶段。 无论如何,我有一个非常基本的模型testing,甚至没有完全实现,当我尝试运行rspec spec/models/admin_spec.rb 。 我在Admin has a valid factory行(下面的完整代码)中出现以下错误: Admin has a valid factory Failure/Error: Factory.create(:admin).should be_valid NameError: uninitialized constant Factory # ./spec/models/admin_spec.rb:6:in `block (2 levels) in <top (required)>' 我假设FactoryGirl没有被加载出于某种原因,但我觉得它应该被自动加载。 以下是我的Gemfile中的完整代码:/spec/models/admin_spec.rb和/spec/factories/admins.rb 非常感谢您的帮助 的Gemfile source 'https://rubygems.org' gem 'rails', '3.2.2' gem 'mysql2' gem 'jquery-rails' gem 'haml' gem 'bcrypt-ruby', :require => 'bcrypt' gem 'bootstrap-sass', '~> 2.0.2' gem […]

通过factory_girl关联查找或创buildlogging

我有一个用户模型属于一个组。 组必须具有唯一的名称属性。 用户工厂和组工厂定义为: Factory.define :user do |f| f.association :group, :factory => :group # … end Factory.define :group do |f| f.name "default" end 当创build第一个用户时,也会创build一个新组。 当我尝试创build第二个用户时,它失败了,因为它想再次创build相同的组。 有没有办法告诉factory_girl关联方法先查找一个现有的logging? 注:我确实尝试定义一个方法来处理这个,但是我不能使用f.association。 我想能够在黄瓜的情况下使用它: Given the following user exists: | Email | Group | | test@email.com | Name: mygroup | 而且这只能在Factory定义中使用关联才能使用。

如何在Rail控制台中使用FactoryGirl中的工厂

我在开发环境中使用rails控制台,我想使用工厂。 我怎样才能访问他们? 我曾尝试require "FactoryGirl"返回 1.9.3p393 :301 > require "FactoryGirl" LoadError: cannot load such file — FactoryGirl

工厂女孩 – 目的是什么?

当我before(:each)使用before(:each)块时,rspectesting中Factory Girl的目的是什么? 感觉就像Factory Girl和a before(:each)唯一的不同之处就是工厂在testing之外准备对象创build。 这是正确的吗?