首页 > 编程语言 >Node.js Assertion API All In One

Node.js Assertion API All In One

时间:2023-10-07 12:11:07浏览次数:50  
标签:Node node Assertion js assert strict API prop deepEqual

Node.js Assertion API All In One

Node.js 断言 API

严格模式

In strict assertion mode, non-strict methods behave like their corresponding strict methods.
For example, assert.deepEqual() will behave like assert.deepStrictEqual().

严格断言模式下,非严格方法的行为与其相应的严格方法类似。
例如,assert.deepEqual() 的行为类似于 assert.deepStrictEqual()

https://nodejs.org/api/assert.html#strict-assertion-mode

use "strict";
// js module 开启严格模式

(() => {
  use "strict";
  // js function 开启严格模式
})();

Assert API

  1. CJS
// const assert = require('node:assert').strict;
const assert = require('node:assert/strict');

assert.deepEqual([[[1, 2, 3]], 4, 5], [[[1, 2, '3']], 4, 5]);
  1. ESM
// import assert from 'node:assert/strict';
import { strict as assert } from 'node:assert';

assert.deepEqual([[[1, 2, 3]], 4, 5], [[[1, 2, '3']], 4, 5]);

https://nodejs.org/api/assert.html#assert

demos

$ node ./esm-assert.js
node:internal/process/esm_loader:108
    internalBinding('errors').triggerUncaughtException(
                              ^

AssertionError [ERR_ASSERTION]: Expected values to be strictly deep-equal:
+ actual - expected ... Lines skipped

  [
    [
      [
        1,
        2,
+       3
-       '3'
      ]
...
    4,
    5
  ]
    at file:///home/eric/Desktop/node-playground/esm-assert.js:6:8
    at ModuleJob.run (node:internal/modules/esm/module_job:194:25) {
  generatedMessage: true,
  code: 'ERR_ASSERTION',
  actual: [ [ [ 1, 2, 3 ] ], 4, 5 ],
  expected: [ [ [ 1, 2, '3' ] ], 4, 5 ],
  operator: 'deepStrictEqual'
}

Node.js v18.18.0

image

import * as assert from 'node:assert/strict';

// Comparing primitive values:
assert.equal(3 + 4, 7);
assert.equal('abc'.toUpperCase(), 'ABC');

// Comparing objects:
assert.notEqual({prop: 1}, {prop: 1});
// shallow comparison
assert.deepEqual({prop: 1}, {prop: 1});
// deep comparison
assert.notDeepEqual({prop: 1}, {prop: 2});
// not deep comparison

(

标签:Node,node,Assertion,js,assert,strict,API,prop,deepEqual
From: https://www.cnblogs.com/xgqfrms/p/17745986.html

相关文章

  • 使用Windows API中键盘、鼠标监控钩子
    本节将介绍如何使用WindowsAPI中的SetWindowsHookEx和RegisterHotKey函数来实现键盘鼠标的监控。这些函数可以用来设置全局钩子,通过对特定热键挂钩实现监控的效果,两者的区别在于SetWindowsHookEx函数可以对所有线程进行监控,包括其他进程中的线程,而RegisterHotKey函数只能对当前......
  • 华为云API自然语言处理的魅力—AI情感分析、文本分析
    云服务、API、SDK,调试,查看,我都行阅读短文您可以学习到:人工智能AI自言语言的情感分析、文本分词、文本翻译1IntelliJIDEA之API插件介绍API插件支持 VSCodeIDE、IntelliJIDEA等平台、以及华为云自研 CodeArtsIDE,基于华为云服务提供的能力,帮助开发者更高效、便捷的搭建应用。......
  • 队列的API
    2023.10.61.poll,peek,element相同点:都是返回队列首个元素不同点:poll:将首个元素从队列中弹出,如果队列是空的,就返回nullpeek:查看首个元素,不会移除首个元素,如果队列是空的就返回nullelement:查看首个元素,不会移除首个元素,如果队列是空的就抛出异常NoSuchElementException ......
  • Cannot find module ‘node:module‘ & "plugins" is not allowed 的解决办法
    在写demo时,装了下t-design-vue2的框架,想做个按需加载,官网这样说但是我运行以后发现报错了Error:Cannotfindmodule'node:module'Requirestack:-D:\ruanjian\nvm\v19.0.0\xiangmu\niu789\niu789\node_modules\[email protected]@mlly\dist\index.cjs摸不着......
  • nodejs在linux下配置环境变量安装指南
    编辑环境变量#vim/etc/profile1.按i建进入插入编辑状态2.在文件最后加上两行:exportNODEJS_HOME=/usr/local/nodejs/node-v16.16.0-linux-x64exportPATH=$NODEJS_HOME/bin:$PATH3.按Esc退出编辑模式4.按:wq!退出并保存文件5.用下面命令刷新环境变量#......
  • webapi 登录接口acctID参数获取SQL
    USEK3DBConfiger20216155555176selectA.FNUMBER,B.FNAME,A.FDATABASENAME,A.FDATACENTERIDFROMT_BAS_DATACENTERASALEFTJOINT_BAS_DATACENTER_LASBONA.FDATACENTERID=B.FDATACENTERIDANDA.FLANGUAGE=B.FLOCALEID FDATACENTERID字段......
  • 一图看懂 6 种 API 架构模式
    刚刚摸鱼刷了一会儿X,正好看到一张非常棒的动图,顺手给大家分享一下。这张动图中包含6个简短的动画,分别总结了我们日常开发中最常见的6中API模式:动图转自:https://twitter.com/AmigosCode/status/1701563810300006661图中所描述的6种API模式分别是:gRPC:一种高性能、跨语言、易扩展的远......
  • 调用API获取天气数据
    在学习SpringMVC过程中,我了解到RestfulAPI的调用只需要请求符合规范就能很轻松的实现功能,可以很好地引起我们的学习兴趣,这里我也自己尝试使用了AJAX,jQuery来向API发送请求,并接收JSON数据。一、找到API提供商这里我使用的是https://www.apispace.com/,提供的各类API非常齐全,文......
  • 【python自动化】七月PytestAutoApi开源框架学习笔记(二)
    执行流程注:请先阅读作者的README.md文档https://gitee.com/yu_xiao_qi/pytest-auto-api2/blob/master/README.md本节内容目录如下:文章目录执行流程目录结构参数配置入口文件-run.pypytest.initest_case初始化数据缓存解析yaml测试数据测试用例执行conftest.py用例demo分析加载yaml......
  • stepci 开源api 自动测试框架
    stepci是基于nodejs开发的,开源api自动测试框架包含的特性语言无关 可以基于yaml,json,js定义支持多种框架 rest,graphl,grpc,trpc,soap自托管 可以集成到ci/cd中,同时可以自己部署与行可集成 可以很好的与其他工具集成说明stepci目前也支持负载测试(预览状态),同时还支持f......