博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
Node.js之断言处理
阅读量:6121 次
发布时间:2019-06-21

本文共 1789 字,大约阅读时间需要 5 分钟。

Node.js之断言处理

在Node.js中,可以利用assert模块进行断言处理,如果判断错误,则抛出AssertError异常

1 equal方法与notEqual方法

equal方法用于判断两个值是否相等

assert.equal(actual,expected,[message])//第一个参数:指定实际值第二个参数:指定预期值第三个参数:指定自定义异常信息如果实际值不等于预期值,抛出AssertionError异常

notEqual方法与equal方法相反,用于判断两个值是否不相等,用法与equal相似:

assert.notEqual(actual,expected,[message])//第一个参数:指定实际值第二个参数:指定预期值第三个参数:指定自定义异常信息如果实际值等于预期值,抛出AssertionError异常

2. strictEqual方法与notStrictEqual方法

用于判读两个对象的值与类型是否相等

assert.strictEqual(actual,expected,[message])//第一个参数:实际值第二个参数:预期值第三个参数:制定自定义异常信息如果实际值及其数据类型不等于预期值,则抛出AssertionError异常

notStrictEqual方法与strictEqual方法相反,用于判断两个值及其类型是否不相等,用法与strictEqual相似:

assert.notStrictEqual(actual,expected,[message])//第一个参数:实际值第二个参数:预期值第三个参数:制定自定义异常信息如果实际值及其数据类型等于预期值,则抛出AssertionError异常

3. assert方法与ok方法

ok方法用于判断某个值是否为真,如果为假,则抛出AssertionError异常

assert.ok(value,[message])//第一个参数:指向被判断的对象第二个参数自定义异常信息

可以用assert方法代替ok方法:

assert(value,[message])

4.deepEqual方法与notDeepEqual方法

用于深层比较

assert。deepEqual(actual,expected,[message])//第一个参数:实际值第二个参数:预期值第三个参数:自定义异常信息如果实际值不等于预期值,则抛出AssertionError异常

比较规则:

  1. 如果两个简单类型比较(字符串、数值、布尔值,null与undefined),则内部使用“=="操作符比较
  2. 如果两个数值比较,用“==”比较
  3. 如果两个对象,则比较值与类型
  4. 如果两个Buffer缓存对象,先比较长度,再逐字比较缓存区内容

notDeepEqual与deepEqual相反

5. throws方法与doesNotThrow方法

throws方法用于执行一个函数中的代码,并判断函数中是否抛出一个异常,如果抛出异常,则不抛出AssertionError异常,如果不抛出异常,则抛出AssertionError异常

assert.throws(block,[error],[message])//第一个参数指定被判断的函数第二个参数:布尔值,用于控制是否抛出在第一个参数值函数中指定抛出的异常。如果为true,则不抛出异常,为false抛出异常//第三个参数:用于在AssertionError异常中添加一个附加的自定义错误信息

doesNotThrow方法用于执行一个函数中的代码并判断是否不会抛出一个异常,如果为真(函数不抛出异常),则正常执行该函数,如果判断为i假(函数中抛出异常),则抛出该异常或抛出AssertionError异常(根据doesNotThrow第二个参数而定)

assert.doesNotThrow(block,[error],[message])//第一个参数:为一个函数//第二个参数:true:抛出AssertionError异常            false:抛出函数体中的异常//第三个参数:在AssertionError异常中附加自定义错误信息

转载于:https://www.cnblogs.com/yuanchenghao/p/7434486.html

你可能感兴趣的文章
rsync 服务器配置过程
查看>>
预处理、const与sizeof相关面试题
查看>>
爬虫豆瓣top250项目-开发文档
查看>>
Elasticsearch增删改查
查看>>
oracle归档日志增长过快处理方法
查看>>
有趣的数学书籍
查看>>
teamviewer 卸载干净
查看>>
多线程设计模式
查看>>
解读自定义UICollectionViewLayout--感动了我自己
查看>>
SqlServer作业指定目标服务器
查看>>
UnrealEngine4.5 BluePrint初始化中遇到编译警告的解决办法
查看>>
User implements HttpSessionBindingListener
查看>>
抽象工厂方法
查看>>
ubuntu apt-get 安装 lnmp
查看>>
焊盘 往同一个方向增加 固定的长度方法 总结
查看>>
eclipse的maven、Scala环境搭建
查看>>
架构师之路(一)- 什么是软件架构
查看>>
jquery的冒泡和默认行为
查看>>
USACO 土地购买
查看>>
【原创】远景能源面试--一面
查看>>