Rails工厂女孩如何生成1个字母的字符串

Rails Factory girl how to generate 1-letter strings

我是 factory girl 的新手,我有一个 class foo 的对象,它的属性 bar 是一个字母字符串。到目前为止,我使用了以下工厂

sequence(:bar, 'A') { |n| n }

它一直有效,直到我添加了足够的测试以使字符串由 2 个字母组成,即在 'Z' 之后,下一个生成的字符串是 'AA'。所以我的问题是如何让它再次从 'A' 开始?提前致谢。

大概是这样的

sequence(:bar, 0) do |n|
  letters = ('A'..'Z').to_a
  letters[n % letters.length]
end

您可以按以下方式使用 Enumerable#cycle

sequence(:bar, ('A'..'Z').cycle)