1、equal()
equal(actual,expected[,message])
相当于使用 == 运算符比较两个参数值actual和expected是否相等,如果相等不返回任何值,如果不相等则返回带有message属性的AssertionError,若message为undefined,则为默认的错误信息。
var assert = require('assert'); assert.equal('1','1');//通过 '1' == '1' assert.equal('1',1);//通过,'1' == 1 assert.equal('q','q');//通过 assert.equal('abc','abc');//通过 assert.equal('a','b');//不通过,抛出AssertionError assert.equal([1,2],[1,2]);//不通过,不能比较数组 assert.equal({a:'string'},{a:'string'});//不通过,不能比较json数据等
== 运算符只是数值相等,并不比较类型相等
equal()方法不能比较数组,json等数据类型的数据,换句话说即不进行深度比较,数组和json数据的子对象不进行比较。
2、strictEqual()
strictEqual(actual,expected[,message])
从字面意思来看,就是equal()方法的严格版本,相当于===全等运算符,不仅比较数据值是否相等,还比较数据类型是否相同。跟equal()方法最大的不同就是这点。
var assert = require('assert'); assert.strictEqual('1',1);//不通过 assert.strictEqual(1,1);//通过 assert.strictEqual('a','a');//通过 assert.equal('abc','abc');//通过 assert.equal('a','b');//不通过,抛出AssertionError assert.equal([1,2],[1,2]);//不通过,不能比较数组 assert.equal({a:'string'},{a:'string'});//不通过,不能比较json数据等
可以看到,这跟equal()方法得出的结果是不同的,比较要严格一些,其他地方都相同。
3 deepEqual()
deepEqual(actual,expected[,message])
前面不管是equal()方法还是strictEqual()都不能进行深度比较,对数组或者json数据格式的数据不能比较相同与否,使用此方法将可以完美解决这个问题。
var assert = require('assert'); assert.deepEqual([1,2],[1,2]);//通过,数组比较 assert.deepEqual({a:'1'},{a:'1'});//通过 assert.deepEqual([[1,2],[2]],[[1,2],[2]]);//通过,多维数组 assert.deepEqual({a:{b:1}},{a:{b:1}});//通过 assert.deepEqual(1,'1');//通过 assert.deepEqual([1],['1']);//通过
deepEqual()方法能够比较数组和json等数据,也能比较一般数据,能够进行更为深层次的数据比较。
deepEqual()方法比较并不严格,相当于 == 等于符号,只比较数值,不比较类型
4 strictDeepEqual()
strictDeepEqual(actual,expected[,message])
跟strictEqual()方法相似,相当于=== 全等运算符,不同的是能够比较数组、json数据等深层的数据。
var assert = require('assert'); assert.deepEqual([1,2],[1,2]);//通过,数组比较 assert.deepEqual({a:'1'},{a:'1'});//通过 assert.deepEqual([[1,2],[2]],[[1,2],[2]]);//通过,多维数组 assert.deepEqual({a:{b:1}},{a:{b:1}});//通过 assert.deepEqual(1,'1');//不通过,类型错误 assert.deepEqual([1],['1']);//不通过 ,类型错误
deepStrictEqual()方法比deepEqual()更为严格,其他都相同。都能进行深层比较。
5 其他方法
assert模块中还有很多其他很有用的方法,下面列举几个,具体的请看
Nodejs API
assert.notEqual(actual,expected[,message])
assert.notStrictEqual(actual,expected[message])
assert.ifError(value)
assert.fail(message)
免责声明:本站资源来自互联网收集,仅供用于学习和交流,请遵循相关法律法规,本站一切资源不代表本站立场,如有侵权、后门、不妥请联系本站删除!
更新日志
- 黄乙玲1988-无稳定的爱心肝乱糟糟[日本东芝1M版][WAV+CUE]
- 群星《我们的歌第六季 第3期》[320K/MP3][70.68MB]
- 群星《我们的歌第六季 第3期》[FLAC/分轨][369.48MB]
- 群星《燃!沙排少女 影视原声带》[320K/MP3][175.61MB]
- 乱斗海盗瞎6胜卡组推荐一览 深暗领域乱斗海盗瞎卡组分享
- 炉石传说乱斗6胜卡组分享一览 深暗领域乱斗6胜卡组代码推荐
- 炉石传说乱斗本周卡组合集 乱斗模式卡组最新推荐
- 佟妍.2015-七窍玲珑心【万马旦】【WAV+CUE】
- 叶振棠陈晓慧.1986-龙的心·俘虏你(2006复黑限量版)【永恒】【WAV+CUE】
- 陈慧琳.1998-爱我不爱(国)【福茂】【WAV+CUE】
- 咪咕快游豪礼放送,百元京东卡、海量欢乐豆就在咪咕咪粉节!
- 双11百吋大屏焕新“热”,海信AI画质电视成最大赢家
- 海信电视E8N Ultra:真正的百吋,不止是大!
- 曾庆瑜1990-曾庆瑜历年精选[派森][WAV+CUE]
- 叶玉卿1999-深情之选[飞图][WAV+CUE]