在前端开发中,测试是一个必不可少的环节。为了方便测试,我们通常会使用各种测试框架和断言库。而 chai-roughly 便是一个能够帮助我们进行粗略断言的 npm 包。
什么是 chai-roughly?
chai-roughly 是 chai 断言库的一个扩展,它允许我们进行近似值的比较。在实际开发中,我们通常无法精确地比较两个数(或者其他对象)的相等性,而 chai-roughly 提供了一种简单的方式来判断它们是否足够接近。
当判断两个数字是否相等时,通常会使用一个很小的容差值,而 chai-roughly 就是为了解决这个问题而产生的。它允许我们在比较数字时指定一个容差值,当两个数字的差值小于这个容差值时,我们就认为它们相等。同时,chai-roughly 还支持在比较对象时递归地比较每个属性的值。
安装 chai-roughly
使用 npm 安装 chai-roughly 十分简单:
--- ------- ------------ ----------
安装完成后,就可以在测试代码中引入 chai 和 chai-roughly 了:
----- ---- - ---------------- ----- ----------- - ------------------------ ----------------------
这样,在测试代码中就可以使用 chai-roughly 提供的各种粗略断言了。
使用 chai-roughly 进行数字比较
chai-roughly 提供了两种方法来进行近似数字比较:roughlyEqual
和 roughlyEql
。它们的用法与 chai 提供的相等比较方法类似。
----- ---- - ---------------- ----- ----------- - ------------------------ ---------------------- ----- - ------ - - ----- ----- - - --- - ---- ----- - - ---- -- -- ------------ ------ ------------------------------- -------- -- -- ---------- ------ ----------------------------- --------
以上代码中,roughlyEqual
和 roughlyEql
的第二个参数都是容差值。当两个数字的差值小于这个容差值时,就认为它们相等。
使用 chai-roughly 进行对象比较
除了数字比较之外,chai-roughly 还提供了一种方法来进行对象的粗略比较:roughlyDeepEqual
。它可以递归地比较对象的属性值是否近似相等。
----- ---- - ---------------- ----- ----------- - ------------------------ ---------------------- ----- - ------ - - ----- ----- ---- - - -- --- - ---- -- --- --- -- - -- -- -- -------- -- -- ----- ---- - - -- ---- -- --- --- -- - -- ---- -- -------- -- -- -- -- ---------------- ------ ----------------------------------------- --------
在以上代码中,obj1
和 obj2
的属性值不完全相等,但是它们的差值都小于 0.0001,因此使用 roughlyDeepEqual
可以认为它们近似相等。
总结
chai-roughly 是一个非常实用的 npm 包,在测试数值和对象时能够快速判断它们是否近似相等。通过本文的介绍,希望读者能够掌握 chai-roughly 的基本用法,并在实际开发中应用它来提高测试效率。
来源:JavaScript中文网 ,转载请联系管理员! 本文地址:https://www.javascriptcn.com/post/57012