ruby-on-rails - Rails Faker 如何创建自定义方法

标签 ruby-on-rails rspec faker

我正在使用 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 repoadded 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/

相关文章:

ajax - 使用 Capybara 测试在 AJAX 请求完成之前加载消息内容

python - 机器人框架: Using faker to generate a prefix string for account data

php - 使用factory faker创建的图像在存储在storage/public/images文件夹中时会被删除

ruby-on-rails - Ruby on Rails 页面最初是空白的,但在刷新时正确加载

ruby-on-rails - scrypt 无法通过 authologic 安装

ruby-on-rails - 如何使用 Capybara 和 RSpec 检查 session 哈希?

ruby-on-rails - 使用 FactoryGirl 的序列时验证失败

python - 在Factory Boy中,如何连接Faker创建的字符串?

html - 使用 iPhone Safari 的 YouTube iframe 页面上的链接和按钮响应较慢

ruby-on-rails - Heroku 上的 Rails + Passenger : How to set expiry date or a maximum age in the HTTP headers for static resources?