Rails 4,Rspec,FactoryGirl

时间:2013-04-12 23:21:07

标签: factory-bot rspec-rails ruby-on-rails-4

我在数据库中有一个不是rails automagic的id列时遇到问题。基本上情况是用户表必须在5000到7000之间,并且还有其他外部规定不允许这种情况自动增加这是迁移(在控制台中神奇地工作):

class CreateUsers < ActiveRecord::Migration
  def change
    create_table :users, id: false do |t|
      t.integer :id, null: false
      t.string :firstname, null: false
      t.string :lastname, null: false
      t.string :username, null: false
      t.boolean :active, null: false, default: true
      t.date :hiredate, null: false
      t.date :termdate

      t.timestamps
    end

    add_index :users, [:id], :unique => true

    execute "ALTER TABLE users ADD PRIMARY KEY (id);"
  end
end

我遇到的问题是为了在工厂创建用户而进行测试我必须有一个开始救援块。第一次失败,第二次完美运作。我不知道为什么会这样。这是users_spec.rb的第一部分:

describe User do
    before(:all)do
        begin 
            @user = FactoryGirl.create(:user)
        rescue
            @user = FactoryGirl.create(:user)
        end
    end
end

我正在考虑让id列在rails应用程序中执行,并制作新的扩展列,但我很感激有人帮我解决了这个问题。谢谢你的帮助!

0 个答案:

没有答案