开玩笑:测试数组的随机位置

Jest: Testing random position of an array

本文关键字:随机 位置 数组 测试 开玩笑      更新时间:2023-09-26

经过一番研究,我发现模拟可以让我测试随机值。但是,如何测试在数组(大海捞针(上拾取的随机位置(针(的值?

例如,如何使用 Jest 测试此代码?

var words = ['Hey', 'Hello', 'Hi'];
var random = Math.floor( Math.random() * (words.length - 1) + 0 );
var word = words[random];
Math.random()

允许您设置种子值,这在测试时会有问题(检查这里(。

您可能想寻找可以设定种子的随机数生成器。这将帮助您获得可重复的集合(至少用于测试(。这里有一篇可能有用的文章。

虽然这不一定针对Math.random进行测试,但在这种情况下,我认为这可以通过简单地检查值来测试。

function pick(words) {
  var random = Math.floor( Math.random() * (words.length - 1) + 0 );
  return words[random];
}
expect(pick(['Hey', 'Hello', 'Hi'])).toMatch(/Hey|Hello|Hi/)