Tag: 工厂机器人

铁路工厂女孩得到“电子邮件已被采取”

这是我的工厂女孩​​代码,每次我尝试生成一个评论时,它告诉我“电子邮件已经被拍摄”,我重置了我的数据库,将spec_helper中的转换设置为true,但仍然没有解决问题。 我是新手,我使用该关联错了吗? 谢谢! Factory.define :user do |user| user.name “Testing User” user.email “test@example.com” user.password “foobar” user.password_confirmation “foobar” end Factory.define :course do |course| course.title “course” course.link “www.umn.edu” course.sections 21 course.description “test course description” course.association :user end Factory.define :review do |review| review.title “Test Review” review.content “Test review content” review.association :user review.association :course end

工厂女孩什么时候在db中创建对象?

我正在尝试使用FactoryGirl / shoulda模拟会话(它与灯具一起工作但我在使用工厂时遇到问题)。 我有以下工厂(用户登录和电子邮件都有uniquevalidation): Factory.define :user do |u| u.login ‘quentin’ u.email ‘quentin@example.com’ end Factory.define :session_user, :class => Session do |ses| ses.association :user, :factory => :user ses.session_id ‘session_user’ end 这是测试 class MessagesControllerTest < ActionController::TestCase context "normal user" do setup do @request.session[:user_id]=Factory(:user).id @request.session[:session_id]=Factory(:session_user).session_id end should "be able to access new message creation" do get :new assert_response :success […]

如何在Factory Girl中创建/构建工厂的多个实例?

如何创建同一类的多个记录或多个工厂? 我试过了: Factory.define :user do |user| user.email “someuser@somesite.com” user.password “somepassword” user.email “another_existing_user@somesite.com” user.password “somepassword” end 和 Factory.define :user do |user| user.email “someuser@somesite.com” user.password “somepassword” end Factory.define :user do |user| user.email “another_existing_user@somesite.com” user.password “somepassword” end 但它不起作用 – Attribute already defined: email 。

ActiveModel :: MissingAttributeError:无法使用FactoryGirl写入未知属性“ad_id”

我有以下型号: class Ad < ActiveRecord::Base belongs_to :page has_one :image has_one :logo end class Page < ActiveRecord::Base has_many :logos has_many :images has_many :ads end class Image < ActiveRecord::Base belongs_to :page has_many :ads end 我已经定义了以下工厂: factory :page do url ‘test.com’ end factory :image do width 200 height 200 page end factory :ad do background ‘rgb(255,0,0)’ page image […]

无法让factory_girl在rails 3.0.5下运行,意外的tCONSTANT

这是我的Gemfile配置: group :development, :test do gem ‘rspec-rails’ gem ‘factory_girl’, ‘~>2.0.0.beta1’ gem ‘factory_girl_rails’, :git => ‘https://github.com/thoughtbot/factory_girl_rails.git’, :tag => ‘v1.1.beta1’ end 这是我的spec_helper.rb : # This file is copied to spec/ when you run ‘rails generate rspec:install’ ENV[“RAILS_ENV”] ||= ‘test’ require File.expand_path(“../../config/environment”, __FILE__) require ‘rspec/rails’ require “factory_girl” # Requires supporting ruby files with custom matchers and macros, etc, […]

通过FactoryGirl定义中的rolify设置角色

我正在使用设计,rolify和cancan。 我也在使用rspec和FactoryGirl进行测试。 现在我正在进行一些测试,我想为这些测试定义具有不同角色的用户。 以下是我目前对使用FactoryGirl进行操作的猜测: FactoryGirl.define do factory :user do name ‘Test User’ email ‘example@example.com’ password ‘please’ password_confirmation ‘please’ # required if the Devise Confirmable module is used confirmed_at Time.now factory :admin do self.has_role :admin end factory :curator do self.has_role :curator end factory :super_admin do self.has_role :super_admin end end end 以下是我的一些测试似乎没有正确编写:require’pec_helper’ describe “Pages” do subject { […]

FactoryGirl与validation有很多联系

我有一个标准的has_many关系(预订有很多订单),validation如果没有至少一个订单就不会保存预订。 我试图用FactoryGirl工厂复制这个,但validation阻止我这样做。 class Booking < ActiveRecord::Base has_many :orders validates :orders, presence: true end class Order < ActiveRecord::Base belongs_to :booking end 以下是FactoryGirl的GitHub维基页面中每个型号的FactoyGirl工厂规格。 FactoryGirl.define do factory :booking do factory :booking_with_orders do ignore do orders_count 1 end before(:create) do |booking, evaluator| FactoryGirl.create_list(:order, evaluator.orders_count, booking: booking) end end end factory :order do booking end end 当我尝试从我的规范运行FactoryGirl.create(:booking_with_orders) ,我得到: Failure/Error: @booking […]

如何解决factory_girl错误的参数数量错误

#rspec test code @room = FactoryGirl.build(:room) #factory definition factory :room do length {10} width {20} end #code implementation class Room attr_accessor :length, :width def initialize(length,width) @length = length @width = width end end 尝试构建@room时,运行rspec会导致此错误 ArgumentError:参数数量错误(0表示2)

如何使用FactoryGirl创建一个名为“别名”的属性?

我只是想知道是否可以使用FactoryGirl创建一个名为“alias”的属性,因为别名是Ruby中的保留字。 FactoryGirl.define do factory :blah do name “dummy” alias “dummy” end end 我已经尝试了各种逃避事物的组合,但却无法获得任何有用的工作。