【发布时间】:2012-05-09 11:16:20
【问题描述】:
我有一个函数可以在最小值和最大值之间选择一个随机值。因此,当我进行测试时,我测试该值是否介于最小值和最大值之间。但是在我的应用程序中出现一些失败的地方,测试通过了一些时间,有时由于随机性而失败。
覆盖/模拟Math.random() 以返回 0 和 1 并测试我的值是否与最大值或最小值相同是个好主意吗?或者有没有更好的方法来测试 JavaScript 中的随机性?
下面是用于创建随机数的函数:
function constrain(min, max){
return Math.round(Math.random() * (max - min) + min)
}
【问题讨论】:
-
我不明白倒数第二句话...让
Math.random()返回0或1有什么帮助?我认为您应该提供更多信息、示例和代码。也许你的测试有缺陷。 -
我添加功能。传递 0/1 将返回我传递的最小值或最大值,因为这是
Math.random()将返回的最小值/最大值。所以在我的测试中,而不是测试返回的值在最小值和最大值之间,我可以检查它是否等于最小值或最大值。