全网整合营销服务商

电脑端+手机端+微信端=数据同步管理

免费咨询热线:400-708-3566

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: 这里需要值为true
assert.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!=1
assert.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"
);

总结

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


# node  # assert模块  # nodejs  # 单元测试  # assert  # Node.js assert断言原理与用法分析  # node.js学习之断言assert的使用示例  # 学习node.js 断言的使用详解  # 抛出  # 不完全  # 要为  # 值为  # 相关内容  # 第一个  # 说了  # 也能  # 不多  # 有一定  # 可以通过  # 自定义  # 不为  # 这篇文章  # 谢谢大家  # 回调  # 倾向于  # 将给  # 方法如下  # 当为 


相关文章: 如何零基础开发自助建站系统?完整教程解析  娃派WAP自助建站:免费模板+移动优化,快速打造专业网站  潍坊网站制作公司有哪些,潍坊哪家招聘网站好?  焦点电影公司作品,电影焦点结局是什么?  建站之星如何通过成品分离优化网站效率?  如何快速查询域名建站关键信息?  建站org新手必看:2024最新搭建流程与模板选择技巧  建站之星如何快速生成多端适配网站?  网站制作外包价格怎么算,招聘网站上写的“外包”是什么意思?  定制建站模板如何实现SEO优化与智能系统配置?18字教程  深圳网站制作案例,网页的相关名词有哪些?  建站之星后台搭建步骤解析:模板选择与产品管理实操指南  如何快速查询网址的建站时间与历史轨迹?  建站VPS能否同时实现高效与安全翻墙?  如何选择CMS系统实现快速建站与SEO优化?  建站IDE高效指南:快速搭建+SEO优化+自适应模板全解析  浙江网站制作公司有哪些,浙江栢塑信息技术有限公司定制网站做的怎么样?  大型企业网站制作流程,做网站需要注册公司吗?  免费ppt制作网站,有没有值得推荐的免费PPT网站?  完全自定义免费建站平台:主题模板在线生成一站式服务  昆明高端网站制作公司,昆明公租房申请网上登录入口?  定制建站是什么?如何实现个性化需求?  网站视频怎么制作,哪个网站可以免费收看好莱坞经典大片?  桂林网站制作公司有哪些,桂林马拉松怎么报名?  网站制作说明怎么写,简述网页设计的流程并说明原因?  教程网站设计制作软件,怎么创建自己的一个网站?  香港服务器网站测试全流程:性能评估、SEO加载与移动适配优化  保定网站制作方案定制,保定招聘的渠道有哪些?找工作的人一般都去哪里看招聘信息?  公司网站建设制作费用,想建设一个属于自己的企业网站,该如何去做?  建站之星如何取消后台验证码生成?  如何通过IIS搭建网站并配置访问权限?  建站主机是否属于云主机类型?  如何在阿里云服务器自主搭建网站?  如何快速辨别茅台真假?关键步骤解析  建站之星微信建站一键生成小程序+多端营销系统  如何选择高效响应式自助建站源码系统?  在线制作视频网站免费,都有哪些好的动漫网站?  rsync同步时出现rsync: failed to set times on “xxxx”: Operation not permitted  红河网站制作公司,红河事业单位身份证如何上传?  如何通过VPS建站实现广告与增值服务盈利?  C++如何使用std::optional?(处理可选值)  音乐网站服务器如何优化API响应速度?  已有域名如何快速搭建专属网站?  Python lxml的etree和ElementTree有什么区别  php能控制zigbee模块吗_php通过串口与cc2530 zigbee通信【介绍】  高防服务器租用首荐平台,企业级优惠套餐快速部署  如何通过PHP快速构建高效问答网站功能?  如何通过虚拟机搭建网站?详细步骤解析  网站制作公司广州有几家,广州尚艺美发学校网站是多少?  天河区网站制作公司,广州天河区如何办理身份证?需要什么资料有预约的网站吗? 

您的项目需求

*请认真填写需求信息,我们会在24小时内与您取得联系。