node API assert
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的更多相关文章
- 配置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 ...
- 部署node api的二三事
当接到node开发node api的时候,我就想用docker来部署,众所周知,node的版本更新迭代很快.很多以前需要babel后才能采用的方法正在不断被node 原生的支持.如果随便更换生产服务器 ...
- Headless Chrome Node API
puppeteer Headless Chrome Node API https://github.com/GoogleChrome/puppeteer https://pptr.dev/ PWA h ...
- node api 之:Error
Node.js 中运行的应用程序一般会遇到以下四类错误: 标准的 JavaScript 错误: <EvalError> : 当调用 eval() 失败时抛出. <SyntaxErro ...
- Puppeteer: 更友好的 Headless Chrome Node API
很早很早之前,前端就有了对 headless 浏览器的需求,最多的应用场景有两个 UI 自动化测试:摆脱手工浏览点击页面确认功能模式 爬虫:解决页面内容异步加载等问题 也就有了很多杰出的实现,前端经常 ...
- node api 之:stream - 流
stream 模块可以通过以下方式使用: const stream = require('stream'); 流可以是可读的.可写的.或者可读可写的. 所有的流都是 EventEmitter 的实例. ...
- node api 之:Buffer
在 ECMAScript 2015 引入 TypedArray 之前,JavaScript 语言没有读取或操作二进制数据流的机制. Buffer 类被引入作为 Node.js API 的一部分,使其可 ...
- node API
看了这么久nodejs,它包含哪些基础的API,自己心中都没有数,该完整地看看基础的API了. 见过的: assert:编写程序的单元测试用例 buffer:直接处理2进制数据 child_proce ...
- node api 之:process - 进程
process 对象是一个全局变量,它提供当前 Node.js 进程的有关信息,以及控制当前 Node.js 进程. 因为是全局变量,所以无需使用 require().
随机推荐
- PHP - pcntl_fork() 执行过程详解
<?php $pid = pcntl_fork();if ($pid == -1){ die("could not fork");}elseif($pid == 0 ...
- 吴裕雄 数据挖掘与分析案例实战(12)——SVM模型的应用
import pandas as pd # 导入第三方模块from sklearn import svmfrom sklearn import model_selectionfrom sklearn ...
- Android使用HTTPS进行IP直连握手失败问题(okHttp)
为什么要使用ip直连这种方式去请求我们的服务器呢?这其实和国内运营伤有关,运营商有时为了利益会将你的域名劫持换成他人的域名,为了防止这种情况的发生通用的解决办法要么联系运营商要么就只能使用ip直连了. ...
- 刚刚明白了for循环写三角形
for(int a = 15; a >=1; a--) { for(int b = a - 1; b >=0; b--) { System.out.print("A") ...
- Win32 Debug & Release
今天帮汤老师调试程序,他生成的程序不能运行,怀疑子程序之间编译顺序的问题:我试了之后,也出现同样的问题,但是把Win32 Debug 换成Win32 Release却可以运行了. 网上搜索了下,在CV ...
- JDK-8不是有效的Win32应用程序
- discuz回贴通知插件实现-发送邮件
通过discuz的sendmail()来发送邮件 //引入发送邮件的函数文件 include libfile('function/mail'); //设置收件人地址,标题,内容发送邮件 sendmai ...
- Mina入门:mina版之HelloWorld[z]
Mina入门:mina版之HelloWorld [z] 一,前言: 在完成上篇文章<Mina入门:Java NIO框架Mina.Netty.Grizzly简介与对比>之后,我们现在可以正式 ...
- Spring缓存配置遇到的坑
基本配置 <cache:annotation-driven cache-manager="cacheManager"/> <bean id="cache ...
- Plugin 'Scala' is incompatible with this.installation
==问题=== 手动安装IDEA的Scala插件,报这个错误. ===原因=== IDEA的版本与Scala插件的版本不兼容. ===解决=== 1.查看一下IDEA的版本 2.下载对应版本的Scal ...