【发布时间】:2017-12-12 14:07:43
【问题描述】:
假设我有一个函数,它返回一个数字乘以 2。
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 函数是否有效?
附:我知道该函数不处理无效参数,例如如果max 小于min。请暂时把它放在一边。
【问题讨论】:
标签: javascript node.js statistics mocha.js chai