使用 FactoryGirl/Faker 生成 3 个字母的字符串

Generate 3-letter strings with FactoryGirl/Faker

我想生成匹配此模式的随机、唯一的字符串:[A-Z]{3}。我如何使用 FactoryGirl 或 Faker 实现此目的?

我考虑过 FactoryGirl 的序列,但无法实现。

试试这个:

FactoryGirl.define do
  sequence :str do |n|
    (0..2).map { (65 + rand(26)).chr }.join
  end
end

FactoryGirl.generate :str # => "GUW" 

我得到了:

sequence(:code) { ('A'..'Z').to_a.sample(3).join }

有选项:

Faker::Name.initials(3)