【问题标题】:Rails Faker how to create custom methodRails Faker 如何创建自定义方法
【发布时间】:2015-06-04 14:35:39
【问题描述】:

我正在使用 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 返回未定义的方法“有用数据”。我希望 Faker::Internet.usefuldata 返回 AAAAA 或 BBBBB。

提前致谢。

【问题讨论】:

  • 请编辑您的答案以包括您期望发生的事情。

标签: ruby-on-rails rspec faker


【解决方案1】:

Faker 目前不支持自定义 Internet 数据。

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::Business
  • Faker::Company
  • Faker::Hacker
  • Faker::Team

我有forked the repoadded the ability to customize internet fields。您可以通过在 Gemfile 中适当地设置源来尝试它,如下所示:

gem 'faker', git: 'https://github.com/prakashmurthy/faker.git'

不太热衷于将其合并到 faker gem 中,因为 useful_data 对于很多用户来说似乎不是一个足够常见的数据点。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2012-06-26
    • 1970-01-01
    • 2017-10-17
    • 2015-02-09
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多