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)
我是 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)