在前端领域,我们经常需要编写测试代码来验证我们编写的代码是否正确。在编写测试代码时,我们需要大量使用断言(assertion)来判断代码的正确性。而 @0x/assert
就是一个专门用于前端测试中的断言库。
安装
使用 npm
进行安装:
--- ------- ----------
使用示例
导入 assert
模块:
----- ------ - ----------------------
然后,就可以使用其中的各种断言函数了:
assert.equal(actual, expected, message?)
判断两个值是否相等。如果不相等,抛出 AssertionError
。
-------------- - -- --- --------------------- -------- --------------
assert.notEqual(actual, expected, message?)
判断两个值是否不相等。如果相等,抛出 AssertionError
。
----------------- - -- --- ------------------------ ------ ------- -------------
assert.ok(value, message?)
判断一个值是否为真值。如果不是,抛出 AssertionError
。
---------------- ------------- -------------- -------------- ------------------- ---------------- ------------- --------------- ------------- -------------------- ------------- ------------ ------------- ------------- -------------
assert.notOk(value, message?)
判断一个值是否为假值。如果不是,抛出 AssertionError
。
-------------------- ------------------- ------------------------ ---------------- ----------------- ------------------ ------------- --------------- ------------- ---------------- ------------- ---------------- ------------- --------------------- -------------
assert.strictEqual(actual, expected, message?)
判断两个值是否严格相等。如果不相等,抛出 AssertionError
。
-------------------- - -- --- --------------------------- --------- --------------------- ---- -----------------
assert.notStrictEqual(actual, expected, message?)
判断两个值是否不严格相等。如果相等,抛出 AssertionError
。
----------------------- - -- ----- ------------------------------ --------- ------------------------ -- --------------
assert.deepEqual(actual, expected, message?)
判断两个对象是否深度相等。如果不相等,抛出 AssertionError
。判断两个对象是否相等时,会递归地比较它们的各个属性值。
----------------- - -- -- -- --- -- -- - -- -- -- --- -- - -- ----------------- - -- -- -- - -- -- -- --- -- - -- - -- -- -- - -- -- -- --- -- - - --
assert.notDeepEqual(actual, expected, message?)
判断两个对象是否不深度相等。如果相等,抛出 AssertionError
。
-------------------- - -- -- -- --- -- -- - -- -- -- --- -- - -- -------------------- - -- -- -- - -- -- -- --- -- - -- - -- -- -- - -- -- -- --- -- - - --
assert.isAbove(actual, expected, message?)
判断一个值是否大于另一个值。如果不是,抛出 AssertionError
。
----------------- --- ----------------------- --------- ----------------- -- -------- ----- ----------------- -- -------- -----
assert.isBelow(actual, expected, message?)
判断一个值是否小于另一个值。如果不是,抛出 AssertionError
。
----------------- --- ----------------------- --------- ----------------- -- -------- ----- ----------------- -- -------- -----
assert.isAtLeast(actual, expected, message?)
判断一个值是否大于或等于另一个值。如果不是,抛出 AssertionError
。
------------------- --- ------------------------- --------- ------------------- --- ------------------- -- ---------- -----
assert.isAtMost(actual, expected, message?)
判断一个值是否小于或等于另一个值。如果不是,抛出 AssertionError
。
------------------ --- ------------------------ --------- ------------------ --- ------------------ -- ---------- -----
每个方法都接受一个可选的 message
参数,用于在断言失败时输出错误信息。
总结
使用 @0x/assert
可以大大简化我们编写测试代码的工作。在编写测试代码时,一定要充分利用断言库,进行充分的测试,以保证代码的正确性。
来源:JavaScript中文网 ,转载请联系管理员! 本文地址:https://www.javascriptcn.com/post/107757