如何创建一个假的ActiveRecord对象

时间:2017-12-14 08:54:37

标签: ruby-on-rails ruby activerecord rails-activerecord

如何创建虚假但逼真的,完整的ActiveRecord实例?

例如,如果我的模型Contract.rb具有name(String),created_at(Date)和id(Integer)等属性,那么方法应该做什么返回一个Contract的实例,其中所有属性都设置为false但现实的价值观?

我知道优秀的gem faker,但我希望Contract.rb的所有属性都以适当的类型动态填充。

我怎样才能做到这一点?

2 个答案:

答案 0 :(得分:4)

您可以FactoryGirl使用Faker来实现此目标。

FactoryGirl.define do
  factory :user, class: User do
    email { Faker::Internet.email }
    password 'password'
    password_confirmation { password }
  end
end

FactoryGirl gem将帮助您使用Faker gem

中的值创建记录
  

注意:正如@stefan FactoryGirl所提到的,正式重命名为FactoryBot

答案 1 :(得分:0)

您必须编写自己的方法来填充contract.rb的所有字段

您可以使用fakerforgery宝石。

通常人们会使用这些宝石来使用虚假记录为其数据库播种或生成测试套件。

我们使用伪造的宝石与工厂女孩用1M假记录播种我们的数据库。