Js第三方库assert使用技巧

时光在流转,代码在交错,测试如一盏明灯,为开发之路指引方向。在JavaScript的世界里,assert库是确保代码正确性的助手。此文将漫谈assert库的使用技巧,并展示如何在代码的编织中巧妙地植入这些断言技术。

0. 安装

js 复制代码
yarn add assert

or 

npm install assert

1. 断言相等性

最基本的技巧,使用assert.equal校验两值相等。

javascript 复制代码
const assert = require('assert');

assert.equal(3, '3', '3严格等于"3"将不通过,因深知==与===的区别');

2. 断言不相等性

光明与黑暗并存,assert.notEqual揭示不等的真相。

javascript 复制代码
assert.notEqual(3, 4, '3不等于4,这是明晰的');

3. 断言抛出错误

使错误浮出水面,assert.throws捕获异常的身影。

javascript 复制代码
assert.throws(
  () => {
    throw new Error('错误已抛,断言成功!');
  },
  Error,
  '未掷出错误,则断言失败'
);

4. 断言函数不抛出错误

顺势而为,assert.doesNotThrow期待顺畅无误。

javascript 复制代码
assert.doesNotThrow(
  () => {
    // 可靠的函数内容
  },
  '抛出错误时,断言不成立'
);

5. 深度比较对象

探索事物内在,assert.deepStrictEqual见微知著。

javascript 复制代码
assert.deepStrictEqual({a: 1}, {a: 1}, '对象结构及值相等,则断言为真');

6. 断言为真

追求真实,assert.ok辨识真伪。

javascript 复制代码
assert.ok(true, '非真即假,此处只认真');

7. 断言失败

崇尚宽恕,assert.fail定下失败的预言。

javascript 复制代码
assert.fail('断言无条件失败,如同故意置脚绊索');

8. 断言实际值与期望值严格相等

寻根究底,assert.strictEqual识别一丝不苟的完美。

javascript 复制代码
assert.strictEqual(3, 3, '值与类型均需一致,方见严谨');

9. 断言不严格相等

阴阳互补,assert.notStrictEqual对类型严厉。

javascript 复制代码
assert.notStrictEqual(3, '3', '值相同,但类型异,不严格相等');

10. 断言深度不等

触摸表象,assert.notDeepStrictEqual拒绝虚幻的相似。

javascript 复制代码
assert.notDeepStrictEqual({a: 1}, {a: '1'}, '虽似,则非;笃于真净');

结语

断言并非铁面无私的裁决者,而是温文尔雅的向导,引领代码走向优雅和稳健。在此,每一个assert都是对真理的追求,是一滴滴构筑知识海洋的雨露。在JavaScript世界的广阔画卷上,测试如同细致的笔触,勾勒出可靠性的轮廓,尽显工匠的精神。

相关推荐
柏箱1 分钟前
使用JavaScript写一个网页端的四则运算器
前端·javascript·css
TU^2 分钟前
C语言习题~day16
c语言·前端·算法
一颗花生米。3 小时前
深入理解JavaScript 的原型继承
java·开发语言·javascript·原型模式
学习使我快乐013 小时前
JS进阶 3——深入面向对象、原型
开发语言·前端·javascript
bobostudio19953 小时前
TypeScript 设计模式之【策略模式】
前端·javascript·设计模式·typescript·策略模式
勿语&4 小时前
Element-UI Plus 暗黑主题切换及自定义主题色
开发语言·javascript·ui
黄尚圈圈4 小时前
Vue 中引入 ECharts 的详细步骤与示例
前端·vue.js·echarts
浮华似水5 小时前
简洁之道 - React Hook Form
前端
正小安7 小时前
如何在微信小程序中实现分包加载和预下载
前端·微信小程序·小程序