我正在测试一个随机字符串生成器,它接受两个单词数组,然后从它们中选择随机字符串。我需要能够测试它实际上是随机的。例如:
FrostyMeadow.generate(:nouns => ["hello", "world"], :adjectives => ["hello","world"]
应该生成以下字符串之一:
["hello world", "world world", "world hello", "hello hello"]
有没有办法给rspec这个数组并检查生成的字符串是否在那里?
答案 0 :(得分:4)
随机性很难测试,但在你的情况下,你可以这样做:
word = FrostyMeadow.generate(:nouns => ["hello", "world"], :adjectives => ["hello","world"]
["hello world", "world world", "world hello", "hello hello"].should include(word)