首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >工厂女孩多重价值观

工厂女孩多重价值观
EN

Stack Overflow用户
提问于 2015-10-14 13:54:56
回答 3查看 801关注 0票数 0

我知道我可以给工厂女孩这样的静态数据值:

代码语言:javascript
复制
  factory :post do
    title 'New post'
    number 7
  end

但是如果我对每个标题和数字都有一个以上的值呢。如果标题是“新邮报”、“旧邮报”、“你好”,而号码是7、8、9,我如何将这些数据传递给工厂女孩呢?我应该使用数组还是使用多个do结束块?

EN

回答 3

Stack Overflow用户

回答已采纳

发布于 2015-10-14 13:59:29

你可以简单地做:

代码语言:javascript
复制
posts_attrs = [{ title: 'new', number: 6}, { title: 'old' }]

posts_attrs.each do |post_attrs|
  factory :post do
    title post_attrs[:title] || 'default title'
    number post_attrs[:number] || 1
  end
end
票数 1
EN

Stack Overflow用户

发布于 2015-10-14 14:12:27

  1. 如果要将值作为参数传递: 工厂:post做标题‘默认标题’结束#创建(:post,标题:‘自定义标题’)
  2. 如果您只想随机化值,那么只需: 工厂:post do标题{‘新邮政’,‘旧邮政’,‘你好’.示例} end
票数 3
EN

Stack Overflow用户

发布于 2015-10-14 14:29:16

对于数字,可以使用FactoryGirl序列:

代码语言:javascript
复制
FactoryGirl.define do
  sequence :email do |n|
    "person#{n}@example.com"
  end
end

要生成一些随机字符串,有一个gem Faker

代码语言:javascript
复制
FactoryGirl.define do
  factory :post do
    title { Faker::Lorem.sentence }
  end
end

Faker可以用来生成随机的电子邮件、字符串、电子商务项目、地址和许多其他东西,参见https://github.com/stympy/faker

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/33127298

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档