Rails Faker如何创建自定义方法
Rails Faker how to create custom method
我正在使用 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
时,它 return 是 Faker::Internet:Class 的未定义方法 'usefuldata'。我想要 Faker::Internet.usefuldata
return AAAAA 或 BBBBB。
提前致谢。
Faker暂不支持自定义互联网数据。
Faker 仅支持对定义中包含 flexible
方法的 classes 进行自定义。例如: Faker::Name
class 有 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
。
其他class支持自定义的:
- Faker::地址
- Faker::商业
- Faker::公司
- Faker::黑客
- Faker::战队
我有forked the repo and added the ability to customize internet fields。您可以通过在 Gemfile 中适当设置源来尝试,如下所示:
gem 'faker', git: 'https://github.com/prakashmurthy/faker.git'
不太热衷于将其合并到 faker
gem 中,因为 useful_data
对于很多用户来说似乎不是一个足够常见的数据点。
我正在使用 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
时,它 return 是 Faker::Internet:Class 的未定义方法 'usefuldata'。我想要 Faker::Internet.usefuldata
return AAAAA 或 BBBBB。
提前致谢。
Faker暂不支持自定义互联网数据。
Faker 仅支持对定义中包含 flexible
方法的 classes 进行自定义。例如: Faker::Name
class 有 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
。
其他class支持自定义的:
- Faker::地址
- Faker::商业
- Faker::公司
- Faker::黑客
- Faker::战队
我有forked the repo and added the ability to customize internet fields。您可以通过在 Gemfile 中适当设置源来尝试,如下所示:
gem 'faker', git: 'https://github.com/prakashmurthy/faker.git'
不太热衷于将其合并到 faker
gem 中,因为 useful_data
对于很多用户来说似乎不是一个足够常见的数据点。