我正在使用 rspec 和 faker 进行测试,我想在 faker 上添加cuestom 字段,我已按照以下说明操作:
https://github.com/stympy/faker#customization
所以在我的rails_helper.rb中我有这一行:
Faker::Config.locale = :ca
在 config/locales 文件夹下的 ca.yml 中,我有:
faker:
internet:
usefuldata: [AAAAA,BBBBB]
当我创建Faker::Internet.usefuldata
时,它为Faker::Internet:Class返回未定义的方法“usefuldata”。我希望 Faker::Internet.usefuldata
返回 AAAAA 或 BBBBB。
提前致谢。
最佳答案
Faker目前不支持互联网数据的定制。
Faker 仅支持定义中包含 flexible
方法的类的自定义。例如:Faker::Name
类有 the flexible method
要自定义名称,请使用以下格式的区域设置文件 - 例如 fr.yml:
fr:
faker:
name:
region: [South East Queensland, Wide Bay Burnett, Margaret River, Port Pirie, Gippsland, Elizabeth, Barossa]
此处,region
是添加到 name
的自定义字段。
注意:第一级是fr
,而不是faker
。
其他支持自定义的类:
- Faker::地址
- Faker::商业
- Faker::公司
- Faker::黑客
- Faker::团队
我有forked the repo和 added the ability to customize internet fields 。您可以通过在 Gemfile 中适当设置源来尝试一下,如下所示:
gem 'faker', git: 'https://github.com/prakashmurthy/faker.git'
不太热衷于将其合并到 faker
gem 中,因为 useful_data
对于很多用户来说似乎不是一个足够常见的数据点。
关于ruby-on-rails - Rails Faker 如何创建自定义方法,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29365516/