And*_*rle 6 javascript unit-testing
我有一个函数,它将选择最小值和最大值之间的随机值.因此,当我进行测试时,我测试该值落在最小值和最大值之间.但是,由于我的应用程序中的某些失败,测试通过了一些时间,有些时候由于随机性而失败.
覆盖/模拟Math.random()返回0和1并测试我的值是否与最大值或最小值相同是一个好主意吗?或者有没有更好的方法来测试JavaScript中的随机性?
以下是将用于创建随机数的函数:
function constrain(min, max){
return Math.round(Math.random() * (max - min) + min)
}
Run Code Online (Sandbox Code Playgroud)
Jon*_*ves 20
SinonJS是一个JavaScript 模拟框架,它集成了所有主要的JavaScript单元测试框架.适配器将负责"恢复"您在测试期间创建的任何存根/模拟.
// Stub out Math.random so it always returns '4' (chosen by fair dice roll)
sinon.stub(Math, 'random').returns(4);
// Double check that it worked.
equal(Math.random(), 4, "http://xkcd.com/221/");
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
6228 次 |
| 最近记录: |