node.js学习(一)
一、assert
assert.deepEqual(actual, expected[, message])
测试 actual
参数与 expected
参数是否深度相等。 原始值使用相等运算符(==
)比较。只测试可枚举的自身属性,不测试对象的原型、连接符、或不可枚举的属性。Map
和 Set
包含的子项也会被测试。子对象中可枚举的自身属性也会被测试。如果两个值不相等,则抛出一个带有 message
属性的 AssertionError
,其中 message
属性的值等于传入的 message
参数的值。 如果 message
参数为 undefined
,则赋予默认的错误信息。
assert.deepStrictEqual(actual, expected[, message])
与 assert.deepEqual()
大致相同,但有一些区别:
- 原始值使用全等运算符(
===
)比较。Set
的值与Map
的键使用 SameValueZero 比较。 - 对象的原型也使用全等运算符比较。
- 对象的类型标签要求相同。
- 比较[对象包装器][]时,其对象和里面的值要求相同。
assert.doesNotThrow(block[, error][, message])
断言 block
函数不会抛出错误。
当 assert.doesNotThrow()
被调用时,它会立即调用 block
函数。
如果抛出错误且错误类型与 error
参数指定的相同,则抛出 AssertionError
。 如果错误类型不相同,或 error
参数为 undefined
,则抛出错误。如果抛出了 AssertionError
且有给 message
参数传值,则 message
参数的值会被附加到 AssertionError
的信息中。
assert.equal(actual, expected[, message])
使用相等运算符(==
)测试 actual
参数与 expected
参数是否相等。
如果两个值不相等,则抛出一个带有 message
属性的 AssertionError
,其中 message
属性的值等于传入的 message
参数的值。 如果 message
参数为 undefined
,则赋予默认的错误信息。
assert.fail(actual, expected[, message[, operator[, stackStartFunction]]])
抛出 AssertionError
。 如果 message
参数为空,则错误信息为 actual
参数 + operator
参数 + expected
参数。 如果只提供了 actual
参数与 expected
参数,则 operator
参数默认为 '!='
。 如果提供了 message
参数,则它会作为错误信息,其他参数会保存在错误对象的属性中。 如果提供了 stackStartFunction
参数,则该函数上的栈帧都会从栈信息中移除(详见 Error.captureStackTrace
)。
assert.ifError(value)
如果 value
为真,则抛出 value
。 可用于测试回调函数的 error
参数。
assert.notDeepEqual(actual, expected[, message])
测试 actual
参数与 expected
参数是否不深度相等。 与 assert.deepEqual()
相反。
如果两个值深度相等,则抛出一个带有 message
属性的 AssertionError
,其中 message
属性的值等于传入的 message
参数的值。 如果 message
参数为 undefined
,则赋予默认的错误信息。
assert.notDeepStrictEqual(actual, expected[, message])
测试 actual
参数与 expected
参数是否不深度全等。 与 assert.deepStrictEqual()
相反。
assert.notEqual(actual, expected[, message])
使用不等运算符(!=
)测试 actual
参数与 expected
参数是否不相等。
assert.notStrictEqual(actual, expected[, message])
使用不全等运算符(!==
)测试 actual
参数与 expected
参数是否不全等。
assert.ok(value[, message])
测试 value
是否为真值。 相当于 assert.equal(!!value, true, message)
。
assert.strictEqual(actual, expected[, message])
使用全等运算符(===
)测试 actual
参数与 expected
参数是否全等
assert.throws(block[, error][, message])
断言 block
函数会抛出错误。
error
参数可以是构造函数、正则表达式、或自定义函数。
如果指定了 message
参数,则当 block
函数不抛出错误时,message
参数会作为 AssertionError
的错误信息。
注意事项
对于 SameValueZero 比较,建议使用 ES2015 的 Object.is()
。
因为全等运算符不区分 -0 与 +0。
但 Object.is() 可以区分
// 抛出 AssertionError: NaN === NaN
// 因为全等运算符不能用于测试 NaN。// 但 Object.is() 可以测试。
node.js学习(一)的更多相关文章
- NODE.JS学习的常见误区及四大名著
NODE.JS学习的常见误区及四大名著 前段时间由于不满于社区里很多人对于NODE.JS的种种误解而写了一篇文章名为: NODE.JS之我见:http://www.cnblogs.com/pugang ...
- Node.js学习系列总索引
Node.js学习系列也积累了一些了,建个总索引方便相互交流学习,后面会持续更新^_^! 尽量写些和实战相关的,不讲太多大道理... Node.js学习笔记系列总索引 Nodejs学习笔记(一)--- ...
- 【入门必备】最佳的 Node.js 学习教程和资料书籍
Web 开发人员对 Node.js 的关注日益增多,更多的公司和开发者开始尝试使用 Node.js 来实现一些对实时性要求高,I/O密集型的业务.这篇文章中,我们整理了一批优秀的资源,你可以得到所有你 ...
- node.js学习(1)
新建便笺 3 node.js学习(1) 1)安装 http://nodejs.org/download/下载. 2)编写一个案例 var http=require("http"); ...
- 我的Node.js学习历程
学习一门技术,每个人都有每个人的方法.我的方法很简单,做项目. 基本概念 在搭建一个node网站之前,还是要掌握一些基本的概念的,这里列举一下,具体的内容大家自己到网上去查: npm bower ex ...
- Node.js学习之TCP/IP数据通讯
Node.js学习之TCP/IP数据通讯 1.使用net模块实现基于TCP的数据通讯 提供了一个net模块,专用于实现TCP服务器与TCP客户端之间的通信 1.1创建TCP服务器 在Node.js利用 ...
- Node.js学习起步
Node.js学习: 简单的说 Node.js 就是运行在服务端的 JavaScript.Node.js 是一个基于Chrome JavaScript 运行时建立的一个平台.Node.js是一个事件驱 ...
- 一点感悟:《Node.js学习笔记》star数突破1000+
写作背景 笔者前年开始撰写的<Node.js学习笔记> github star 数突破了1000,算是个里程碑吧. 从第一次提交(2016.11.03)到现在,1年半过去了.突然有些感慨, ...
- Node.js学习看这里:基础、进阶、文章
Node.js是基于Chrome JavaScript运行时建立的一个平台,实际上它是对Google Chrome V8引擎进行了封装,它主要用于创建快速的.可扩展的网络应用. Node.js采用事件 ...
- Node.js学习笔记(3):NPM简明教程
Node.js学习笔记(3):NPM简明教程 NPM常用操作 更新NPM版本 npm install npm -g -g,表示全局安装.我们可以指定更新版本,只需要在后面填上@版本号即可,也可以输入@ ...
随机推荐
- 萌新接触前端的第三课——JavaScript
JavaScript概述 一.JavaScript的历史 1992年Nombas开发出C-minus-minus(C--)的嵌入式脚本语言(最初绑定在CEnvi软件中).后将其改名ScriptEase ...
- mysql连接池不能回避的wait timeout问题(转)
起因 我们的项目组一直在使用albianj作为开发框架在开发应用.使用至今倒也是没有出现很大的问题,但最近加过监控的接口基本上都会在使用一段时间后,突然之间执行数据库操作变得很慢.虽然会变慢,但持续的 ...
- 002-MVC架构,贫血的领域模型、spring mvc,webhars使用
一.MVC.贫血的领域模型 MVC理念是将视图与模型进行解耦. 贫血的领域模型 <领域驱动设计>定义了一组架构规则,能够指导我们更好地将业务领域集成到代码中. 其中一个核心理念是将面向对象 ...
- Building an (awesome) API with NancyFX 2.0 + Dapper
http://blog.nandotech.com/post/2016-10-25-nancyfx-webapi-dapper/?utm_source=tuicool&utm_medium=r ...
- 小程 序swiper自适应宽高
https://blog.csdn.net/qq_31604363/article/details/73715944 小程 序swiper自适应宽高 小程 序swiper自适应宽高
- abap 通过importing 和 exporting 调用其它函数
1:其它函数的(输入或输出)参数名都在=号左边.
- 常用笔记:Linux
Linux打包压缩排除指定文件夹: 使用Linux的tar 命令打包压缩文件夹,有时候需要排除里面的某几个文件夹,加上--exclude参数: tar -zcvf blog.tar.gz --excl ...
- 代码调试--自定义一个简单的debug函数
function debug(){ $num_args = func_num_args(); //实参个数 $arg_list = func_get_args(); //返回某一个实参,必须是实参数组 ...
- vector erase的错误用法
直接写 a.erase(it)是错误的,一定要写成it=a.erase(it)这个错误编译器不会报错.而且循环遍历删除的时候,删除了一个元素,容器里会自动向前移动,删除一个元素要紧接着it--来保持位 ...
- linux shell脚本检测硬盘磁盘空间 邮件报警
使用 http://www.weiruoyu.cn/?p=368 shell脚本监控硬盘空间剩余空间 邮件报警 1.先观察一下磁盘,和如何使用脚本 [root@localhost ~]# df -h ...