假设我有一个函数返回一个乘以2的数字。使用Mocha和Chai在JavaScript中测试随机数函数
function double(number){
return number * 2;
}
var expect = require("chai").expect;
describe("#double", function(){
it("should double a number", function(){
expect(double(2)).to.equal(4);
expect(double(4.5)).to.equal(9);
expect(double(-3)).to.equal(-6);
});
});
但现在假设我有一个返回两个指定整数之间的随机整数的函数,叫他们min
和max
。
function randBetween(min, max){
return Math.floor(Math.random() * (max - min + 1) + min);
}
我无法预测返回值会等于什么。我可以编写一个测试,确保返回值大于或等于min
且小于或等于max
,但实际上并不测试返回值是否为随机。有没有统计上有效的方法来测试我的randBetween
函数是否正常工作?
P.S.我知道这个函数没有处理无效的参数,例如如果max
小于min
。请暂时搁置一边。