内部为随机函数的单元测试。Javascript
我有这个随机函数。如何为此创建单元测试?(必须开玩笑)内部为随机函数的单元测试。Javascript,javascript,unit-testing,ecmascript-6,jestjs,Javascript,Unit Testing,Ecmascript 6,Jestjs,我有这个随机函数。如何为此创建单元测试?(必须开玩笑) 由于函数的结果是随机的,因此无法预测正确答案。但您可以设置可接受值的间隔(范围)。就这样, test('get random number in range [0, 20]', () => { const result = random(); expect(result).toBeGreaterThanOrEqual(0); expect(result).toBeLessThanOrEqual(20); });
由于函数的结果是随机的,因此无法预测正确答案。但您可以设置可接受值的间隔(范围)。就这样,
test('get random number in range [0, 20]', () => {
const result = random();
expect(result).toBeGreaterThanOrEqual(0);
expect(result).toBeLessThanOrEqual(20);
});
您可以简单地模拟
Math.random
,如下所示:
global.Math.random = () => 1
因此,random([{change\u percent:2,volume:2,price:2,change}])
将为您提供一个易于测试的结果
请注意,由于所有测试都是独立运行的,因此覆盖数学。随机不会干扰其他测试
global.Math.random = () => 1