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

时间:2016-08-05 07:40:34

标签: ruby-on-rails factory-bot

我是工厂女孩的新手,我有一个类foo的对象,它有一个属性栏,这是一个单字母的字符串。到目前为止,我已经使用了以下工厂

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

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

2 个答案:

答案 0 :(得分:2)

您可以通过以下方式使用Enumerable#cycle

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

答案 1 :(得分:1)

这样的事,也许是

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