[NODE之9]assert模块
来源:互联网 发布:mac book 多少钱 编辑:程序博客网 时间:2024/05/01 23:33
/**Assert练习 * Created by liyanq on 17/3/23. * Assert自带抛出异常功能~ */const assert = require("assert");/*assert(value[, message]) * assert(true);// 通过 * assert(1);// 通过 * assert(false);//不通过 * assert(0);//不通过*/try { assert(false, "我是错误信息~");}catch (e) { console.log(e.message);}/*----------------------------------------------------------------------------------*//*assert.deepEqual(actual, expected[, message]) * 测试 actual 参数与 expected 参数是否深度相等。 原始值使用相等运算符(==)比较 * 注意:对象间的比较不管==还是===都是比较地址,如果地址一样就相等*/try { var objDeepEqual1 = new Object("hello"); var objDeepEqual2 = new Object("hello"); objDeepEqual2.age = 33; assert.deepEqual(objDeepEqual1, objDeepEqual2,"deepEqual两个对象深度比较");//}catch (e) { console.log(e.message);}/*assert.deepStrictEqual(actual, expected[, message])* 相当于对象间的===*/try { assert.deepStrictEqual({a:"1"},{a:1},"deepStrictEqual比较很严格~~")}catch (e){ console.log(e.message);}/*----------------------------------------------------------------------------------*//*assert.doesNotThrow(block[, error][, message])* 如果抛出错误且错误类型与 error 参数指定的相同,则抛出 AssertionError。* 如果错误类型不相同,或 error 参数是 undefined,则错误会被抛回给调用者。*/try { assert.doesNotThrow( () => { throw new TypeError('错误'); }, TypeError, '抛出错误' );}catch (e){ console.log(e.message);}/*assert.equal(actual, expected[, message])* 相当于==,如果应用到对象,那么比较的是地址* assert.strictEqual(actual, expected[, message])* 相当于===,如果应用到对象,那么比较的是地址*/try { assert.equal({a:1},{a:1},"equal比较的是地址");}catch (e){ console.log(e.message);}/*assert.ifError(value):function(err) { if (err) throw err; };* 如果 value 为真,则抛出 value。 可用于测试回调函数的 error 参数。* 说白了就是判断异常对象,如果是的话,抛出异常信息,如果不是且true,抛出undefined,否则没动静~~*/try { // assert.ifError("error");//undefined assert.ifError(new Error("ifError的error"));//ifError的error}catch (e){ console.log(e.message);}/*assert.notDeepEqual(actual, expected[, message])* 测试是否不深度相等。 与 assert.deepEqual() 相反。*//*assert.notDeepStrictEqual(actual, expected[, message])* 测试是否不深度全等。 与 assert.deepStrictEqual() 相反。*//*assert.notEqual(actual, expected[, message])* 使用不等运算符(!=)测试是否不相等*//*assert.notStrictEqual(actual, expected[, message])* 使用不全等运算符(!==)测试是否不全等。*//*assert.ok(value[, message])* 测试 value 是否为真值。 相当于 assert.equal(!!value, true, message)。*//*----------------------------------------------------------------------------------*//*assert.throws(block[, error][, message])* 如果指定了 message,则当 block 不抛出错误时,message 会作为 AssertionError 的错误信息。* 如果指定了 error,error 可以是构造函数、正则表达式、或自定义的验证函数* 应该这么做。* assert.throws(myFunction, /错误/, '没有抛出期望的信息');*/try{ assert.throws( () => { throw new Error('错误信息');//这个函数里面没异常抛出的话,assert.throws就直接抛出"不是期望的错误" }, function(err) { // err instanceof Error =>true // /错误/.test(err.message)=>true /错误/能匹配上"错误信息" if ((err instanceof Error) && /错误/.test(err.message)){ return true;//吸收错误了~~;false的话,继续抛出 } }, '不是期望的错误' );}catch (e){ console.log(e.message);}
http://nodejs.cn/api/assert.html
0 0
- [NODE之9]assert模块
- Node.js13 assert 模块
- Node.js中的Assert模块
- Node模块之Events模块
- Node【模块】之path
- elasticsearch之node模块
- node之keyMirror模块
- node之classnames模块
- Node之Event模块
- node之path模块
- node模块之cron
- node.js之模块
- node.js模块之events
- Node核心模块之Events
- Node核心模块之Path
- Node核心模块之QueryString
- Node核心模块之Stream
- Node核心模块之Net
- 在java开发中遇到sun.misc.BASE64Encoder找不到jar包的解决方法
- Ubuntu下安装配置NDK、独立交叉编译工具编译C/C++程序
- 常用关键字分析
- 还原百度AI派系之争:吴恩达出局,马东敏陆奇定胜负
- 求连通分量(深搜)
- [NODE之9]assert模块
- QT QTableWidget 用法总结
- 手把手带你走进MVP +Dagger2 + DataBinding+ Rxjava+Retrofit 的世界
- linux ln 命令使用参数详解(ln -s 软链接)
- 关于JS的闭包
- 弹出框插件——dialog
- linux的jenkins配置和安装,单独篇
- 梦想起航
- 又是忙碌的一天,太充实