1、assert.throws(block, [error], [message]):

assert.throws(
function(){
throw new Error('wrong');
},
Error
);
//通过
assert.throws(
function(){
throw new Error('wrong');
},
/value/ //正则表达式
);
//wrong
assert.throws(
function(){
throw new Error('wrong');
},
function(err){
console.log('err:'+err);
if((err instanceof Error) && /value/.test(err) ){
return true;
}
},
'error' //好像没用啊
);
//wrong

2、assert.ifError(value):为true时异常,常用语检查回调中的error参数。 

3、assert.strictEqual(actual, expected, [message]):===

assert.notStrictEqual(actual, expected, [message]):!==

   抛出异常时,会显示message。

4、assert.deepEqual(actual, expected, [message]):对象深度匹配

   assert.notDeepEqual(actual, expected, [message]):对象非深度匹配 

匹配规则:1.采用===比较;2.比较他们是否是Buffers,如果是则比较长度,接下来每字节每字节的比较;3.是用==比较;4.最后如果参数是object对象,则比较他们得属性长度和属性值。可以看的出来,这两个方法性能上可能要差些,所以只有在需要的时候才使用他们。 

5、assert.equal(actual, expected, [message]):简单值的比较

  assert.notEqual(actual, expected, [message]):

false:false,0,空值(''),null,undefined,NaN。

6、assert(value, message), assert.ok(value, [message]):assert.equal(true, !!value, message)的简化版

7、assert.fail(actual, expected, message, operator):

assert.fail(23, 42, undefined, '###');         //23 ### 42
assert.fail(23, 42, 'fails', '###');           //wrong

stackoverflow上说:在构建自己的测试框架时,operator会有用;如果message为undefined时,才会有用。

node API assert的更多相关文章

  1. 配置web pack loader 报错:Module build failed: Error: The node API for `babel` has been moved to `babel-core`.

    报错如下 Module build failed: Error: The node API for `babel` has been moved to `babel-core`. 在我配置loader ...

  2. 部署node api的二三事

    当接到node开发node api的时候,我就想用docker来部署,众所周知,node的版本更新迭代很快.很多以前需要babel后才能采用的方法正在不断被node 原生的支持.如果随便更换生产服务器 ...

  3. Headless Chrome Node API

    puppeteer Headless Chrome Node API https://github.com/GoogleChrome/puppeteer https://pptr.dev/ PWA h ...

  4. node api 之:Error

    Node.js 中运行的应用程序一般会遇到以下四类错误: 标准的 JavaScript 错误: <EvalError> : 当调用 eval() 失败时抛出. <SyntaxErro ...

  5. Puppeteer: 更友好的 Headless Chrome Node API

    很早很早之前,前端就有了对 headless 浏览器的需求,最多的应用场景有两个 UI 自动化测试:摆脱手工浏览点击页面确认功能模式 爬虫:解决页面内容异步加载等问题 也就有了很多杰出的实现,前端经常 ...

  6. node api 之:stream - 流

    stream 模块可以通过以下方式使用: const stream = require('stream'); 流可以是可读的.可写的.或者可读可写的. 所有的流都是 EventEmitter 的实例. ...

  7. node api 之:Buffer

    在 ECMAScript 2015 引入 TypedArray 之前,JavaScript 语言没有读取或操作二进制数据流的机制. Buffer 类被引入作为 Node.js API 的一部分,使其可 ...

  8. node API

    看了这么久nodejs,它包含哪些基础的API,自己心中都没有数,该完整地看看基础的API了. 见过的: assert:编写程序的单元测试用例 buffer:直接处理2进制数据 child_proce ...

  9. node api 之:process - 进程

    process 对象是一个全局变量,它提供当前 Node.js 进程的有关信息,以及控制当前 Node.js 进程. 因为是全局变量,所以无需使用 require().

随机推荐

  1. MySQL 语句的规范

  2. python,遍历文件的方法

    在做验证码识别时,识别时需要和库里的图片对比,找到最接近的那个图片,然后就行到了用与图片一致的字符命名,获取文件的名称,去将图片的名称读出来作为验证码.以下是我通过网上的资料总结的三种文件遍历的方式, ...

  3. 用Python提取XML里的内容,存到Excel中

    最近做一个项目是解析XML文件,提取其中的chatid和lt.timestamp等信息,存到excel里. 1.解析xml,提取数据 使用python自带的xml.dom中的minidom(也可以用l ...

  4. 反射, getClass(), 和something.class以及类型类(转)

    原文地址:http://www.cnblogs.com/lianghui66/archive/2012/12/03/2799134.html 所谓反射,可以理解为在运行时期获取对象类型信息的操作.传统 ...

  5. Factorial Trailing Zeroes (Divide-and-Conquer)

    QUESTION Given an integer n, return the number of trailing zeroes in n!. Note: Your solution should ...

  6. Treasures and Vikings(两次搜索)

    Treasures and Vikings https://www.luogu.org/problemnew/show/P4668 题意翻译 你有一张藏宝图,藏宝图可视为 N×MN×M 的网格.每个格 ...

  7. pyhon之函数参数

    #函数的参数分为形参和实参,其中形参就是形式参数,是在创建函数的时候定义,实参就是实际参数,是在调用的函数的时候创建,这个并不是重点,具体#的参数内部,我们可以把参数分为以下4种# 1.普通参数# 2 ...

  8. windows 10 WSL 安装 Centos

    1. 打开 WSL,没啥好说的 使用管理员权限打开 powershell,执行 Enable-WindowsOptionalFeature -Online -FeatureName Microsoft ...

  9. 【D3D】Direct3D中LPRECT(上左右底)和LPoint(x,y)之前转换

    D3DSprite.cpp void CD3DSprite::DrawText(CD3DFont *pFont, char *szString, RECT &DesRect, D3DCOLOR ...

  10. windows常用的cmd网络命令

    一.ping 它是用来检查网络是否通畅或者网络连接速度的命令.作为一个生活在网络上的管理员或者黑客来说,ping命令是第一个必须掌握的DOS命令,它所利用的原理是这样的:网络上的机器都有唯一确定的IP ...