如何用一点容差来断言正确的十进制值?
假设我想断言:1 / 3
我不想用这样的长字符串断言:equal(1 / 3, 0.3333333333333333)
我想像这样指定容差:equal(1 / 3, 0.33, 0.01)
//因为......值可以从0.32到0.34
这可能在q-unit中?一个可能的解决方案是,如果我将结果乘以1000并删除所有小数位......但我将编写许多此类测试,并且更愿意使用q-unit的任何已实现的功能。< / p>
答案 0 :(得分:2)
似乎没有内置功能,但您可以创建自己的功能:
function decEqual(actual expected, tolerance, message) {
ok(Math.abs(actual - expected) <= tolerance, message);
}
然后像这样使用它:
decEqual(1 / 3, 0.33, 0.01, 'Invalid third');
答案 1 :(得分:2)
qunit有足够的插件。它使用2种断言方法扩展qunit,这些方法正是您所需要的: https://github.com/jquery/qunit/tree/master/addons/close-enough