当前位置:首页 > 日记 > 正文

Node.js利用断言模块assert进行单元测试的方法

Node.js利用断言模块assert进行单元测试的方法

前言

对于NodeJS, assert模块提供了一系列的断言测试,其实这个模块主要倾向于内部使用,但是也能被用于项目中, 可以通过require(‘assert')的方式引入,下面本文将给大家介绍关于Node.js用断言模块assert进行单元测试的相关内容,分享出来供大家参考学习,下面话不多说了,来一起看看详细的介绍吧。

方法如下:

首先先引入断言assert模块

var assert = require('assert');

1.assert(value, message), assert.ok(value, [message])  //判断中值是否为true

 assert.ifError(value) //测试值是否不为 false,当为 true 时抛出。常用于回调中第一个 error 参数的检查。

var a = 0;assert(a,'这里需要值为true');   //AssertionError: 这里需要值为trueassert.ok(a,'这里也要为true');  // AssertionError: 这里也要为true

2.assert.fail(actual, expected, message, operator) //抛出异常,有message时显示message,没有使用operator作为为分隔符

var a = 0;assert.fail(a,1,'a!=1','<'); // AssertionError: a!=1assert.fail(a,2,'','<');    // AssertionError: 0 < 2

3.assert.equal(actual, expected, [message])   //("=="判断)是否相等 相反:notEqual

 assert.strictEqual(actual, expected, [message])  //("==="判断)是否相等 相反:notStrictEqual

var a = 2;var a='2';assert.equal(a,b,'a,b不相等 ==')assert.notEqual(a,b,'a,b相等')      // AssertionError: a,b相等assert.strictEqual(a,b,'a,b不完全相等 ===') // AssertionError: a,b不完全相等 ===

4.assert.deepEqual(actual, expected[, message])、// 是否深度匹配  相反: notDeepEqual

var buf1 = new Buffer('abc');var buf2 = new Buffer('abc');assert.strictEqual(buf1, buf2, 'buf1和buf2不一样'); //AssertionError: buf1和buf2不一样assert.notDeepEqual(buf1, buf2, 'buf1和buf2一样'); //AssertionError: buf1和buf2一样

5.assert.throws(block, [error], [message]) //声明一个block用于抛出错误,'error'可以是构造函数,验证函数或者正则表达式

    assert.doesNotThrow(block, [message])//声明模块不抛出错误

//构造函数assert.throws( function() { throw new Error("Wrong value"); }, Error);//正则assert.throws( function() { throw new Error("Wrong value"); }, /value/);//自定义错误assert.throws( function() { throw new Error("Wrong value"); }, function(err) { if ( (err instanceof Error) && /value/.test(err) ) {  return true; } }, "unexpected error");

总结

以上就是这篇文章的全部内容了,希望本文的内容对大家的学习或者工作具有一定的参考学习价值,如果有疑问大家可以留言交流,谢谢大家对的支持。

相关文章

微信小程序 同步请求授权的详解

微信小程序 同步请求授权的详解

授权,同步请求,详解,程序,电脑软件,微信小程序 同步请求授权的详解需求分析: 1.在小程序首次打开的时候,我需要同时请求获取多个权限,由用户逐一授权。 ([‘scope.userInfo',‘scope.userLocation',‘scope.address',‘scope.record',‘scope…

JavaScript实现跟随滚动缓冲运动广

JavaScript实现跟随滚动缓冲运动广

运动,广告,电脑软件,JavaScript,当我们浏览一些网页时我们会发现页面的的边上会有广告图片,当滚动滚动条的时候这些广告图片会跟随性的随页面一起运动(这里我叫它为广告框)。一些网页的广告框是固定在浏览器上的用background:fixed;便可实现。这…

JavaScript之Date_动力节点Java学

JavaScript之Date_动力节点Java学

学院,节点,动力,电脑软件,JavaScript,在JavaScript中,Date对象用来表示日期和时间。要获取系统当前时间,用:var now = new Date();now; // Wed Jun 24 2015 19:49:22 GMT+0800 (CST)now.getFullYear(); // 2015, 年份now.getMonth(); // 5, 月…

angularJS+requireJS实现controlle

angularJS+requireJS实现controlle

按需加载,示例,电脑软件,requireJS,angularJS,最近因为项目的比较大,需要加载的js文件较多,为了提高首屏页面的加载速度,需要对js文件进行按需加载,然后网上参考了一些资料,自己也深入研究一番之后,实现了按需加载控制器js文件及指令js文件的效果…

PS怎么设计等高线效果的背景图?

PS怎么设计等高线效果的背景图?

背景图,等高线,效果,电脑软件,PS,制作简单的背景图片软件名称:Adobe Photoshop 8.0 中文完整绿色破解版软件大小:150.1MB更新时间:2015-11-041、新建一个背景图层如图大小 2、然后利用矩形工具画一个500乘500像素的矩形如图所示3、给这个矩形…

15/18位身份证号码验证的正则表达

15/18位身份证号码验证的正则表达

正则表达式,验证,身份证号码,详细,电脑软件,前言开发过程中,常常需要对一些输入信息进行有效性验证,使用正则表达式进行校验是最简单、效率最高的方式了,下面就来看看15/18位身份证号码验证的正则表达式吧。介绍xxxxxx yyyy MM dd 375 0 …

jQuery中each循环的跳出和结束实例

jQuery中each循环的跳出和结束实例

循环,实例,结束,电脑软件,jQuery,Query中each类似于javascript的for循环 但不同于for循环的是在each里面不能使用break结束循环,也不能使用continue来结束本次循环,想要实现类似的功能就只能用return,break 用return falsecontinue …

ppt支持什么格式的视频

ppt支持什么格式的视频

支持,视频格式,格式,视频,电脑软件,  PPT支持的视频格式十分有限,一般可以插入WMV、MPEG-1(VCD格式)、AVI。但由于AVI的压缩编码方法很多,并不是所有的AVI格式都支持。下面就跟着小编看看PPT2007支持那种格式吧,常用ppt的朋友值得一看哦,欢迎…

Photoshop制作透明液体流动效果的

Photoshop制作透明液体流动效果的

透明,教程,立体字,液体,效果,Photoshop制作透明液体流动效果的立体字教程分享给的各位朋友,希望大家通过本教程可以get到利用光照效果和液化工具以及图层样式来制作透明液体流动效果的3d立体字,方法不难,下面就让我们一起开始制作吧!效果图:主要…

jquery将标签元素的高设为屏幕的百

jquery将标签元素的高设为屏幕的百

屏幕,标签,元素,设为,百分比,html部分:<body><div id="margin_box"></div></body>jquery部分:<script> $(function(){ var percent =0.15; $("#margin_box").css("height",window.document.body.clientHeight*percent) …

qq个性伤感签名有符号

qq个性伤感签名有符号

符号,伤感,个性,大全,电脑软件,  一句个性伤感签名: 我也在独自穿越黑暗 在寻你的途中 因喜欢你 借着你的光 瞧见了从未见过的世界。下面小编给大家分享了关于qq个性伤感签名有符号,希望你喜欢。qq个性伤感签名有符号大全1) 我不会软弱到陷…

怎样显示出Excel2013图表刻度和单

怎样显示出Excel2013图表刻度和单

单位,图表,显示,步骤,刻度,  在excel2013中,设置图表上面发生了很大的变化,直接来说,就是更加方便和快捷了,那么我们就用显示图表刻度和单位为例,看看excel2013相比前面的版本有什么优势。让Excel2013图表显示刻度和单位的步骤①制作好表格数…