NodeJS—Assert使用示例

NodeJs中Assert断言库的使用示例:

从中可以找到一些规律:

  • equal、notEqual、deepEqual、notDeepEqual:使用‘==‘比较符进行比较。即:不含strict的方法,使用的都是‘==‘比较符。
  • strictEqual、notStrictEqual、strictDeepEqual、notStrictDeepEqual:使用‘===‘比较符进行比较。即:含strict的方法,使用的都是‘===‘比较符。
describe(‘Assert用法测试‘, function () {

    var obj1 = {
        name: ‘111‘,
        parent: {
            mother: ‘222‘
        }
    }

    var obj2 = {
        name: ‘111‘,
        parent: {
            mother: ‘222‘
        }
    }

    var obj3 = {
        name: ‘333‘
    }

    var obj4 = {
        name: 333
    }

    it(‘assert.ok‘, function () {
        var msg = ‘值应为真‘
        assert.ok(true, msg)
        assert.ok(‘1‘, msg)
        assert.ok(1, msg)
    });

    it(‘assert.equal‘, function () {
        assert.equal(1, ‘1‘, ‘两个值应相等。使用\‘==\‘进行比较‘)
    })

    it(‘assert.notEqual‘, function () {
        assert.notEqual(1, 2, ‘两个值应不相等。使用\‘!=\‘进行比较‘)
    })

    it(‘assert.deepEqual‘, function () {
        assert.deepEqual(obj1, obj2, ‘两个对象中的属性应深度全等。使用\‘==\‘进行比较‘)
    })

    it(‘assert.notDeepEqual‘, function () {
        assert.notDeepEqual(obj1, obj3, ‘两个对象中的属性应深度不全等。使用\‘!=\‘进行比较‘)
    })

    it(‘assert.strictEqual‘, function () {
        var msg = ‘两个值应相等。使用\‘===\‘进行比较‘
        assert.strictEqual(1, 1, msg)
        assert.strictEqual(‘1‘, ‘1‘, msg)
        assert.strictEqual(true, true, msg)
    })

    it(‘assert.notStrictEqual‘, function () {
        var msg = ‘两个值应不相等,或值为不同类型。使用\‘!==\‘进行比较‘
        assert.notStrictEqual(1, ‘1‘, msg)
        assert.notStrictEqual(1, 2, msg)
    })

    it(‘assert.deepStrictEqual‘, function () {
        assert.deepStrictEqual(obj1, obj2, ‘两个对象中的属性应深度全等,并且对应的值为同一类型。使用\‘===\‘进行比较‘)
    })

    it(‘assert.notDeepStrictEqual‘, function () {
        assert.notDeepStrictEqual(obj4, obj3, ‘两个对象中的属性应深度不全等,或对应的值为不同类型。使用\‘!==\‘进行比较‘)
    })

    it(‘assert.throws‘, function () {
        // 方法中应当抛出对应错误信息
        assert.throws(function () {
            throw ‘错误信息‘
        }, /错误信息/)
    })

    it(‘assert.doesNotThrow‘, function () {
        // 方法中不应抛出对应错误
        assert.doesNotThrow(function () {
            var a = 1 + 1;
        }, RangeError, ‘抛出了RangeError错误‘)
    })

    it(‘assert.ifError‘, function () {
        // 参数为真是,抛出错误;为假时,测试通过
        assert.ifError(false)
    })

    // it(‘assert.fail‘, function () {
    //     assert.fail(1, ‘1‘, ‘主动抛出错误‘)
    // })

})
时间: 2024-12-08 12:54:28

NodeJS—Assert使用示例的相关文章

nodejs通过 智验科技API 向用户发送验证码

在学习上不肯钻研的人是不会提出问题的,在事业上缺乏突破力的人是不会有所创新的. 先简单说一下今天的事情,在一个订单页面的开发过程中,我突发奇想的希望能通过前端的技术向用户发送验证码. 于是我整个晚上都着力于这个需求的思路与实现方式: 1:验证码的数据肯定不能存在于html页面以及js文件中,我觉得这是一个安全性的问题,所以验证码数据应该由后台自动生成,那么在我应该使用哪种后端语言? 2:在日常生活中,发送短信肯定是有费用的,所以我们肯定是不可能通过一两段代码就免费的将验证码发送到用户手机的,那么

nodeJS+Express+MongoDB

目录 一.MongoDB 1.1.安装MongoDB 1.1.1.配置运行环境 1.1.2.运行MongoDB 1.2.数据库操作 1.2.1.创建数据库与查看数据库 1.2.2.删除数据库 1.2.3.插入数据 1.2.4.查询数据 1.2.5.修改 1.2.6.删除 二.NodeJS访问MongoDB 2.1.安装MongoDB访问驱动 2.2.添加数据 2.3.修改数据 2.4.查询数据 2.5.删除数据 三.NodeJS+Express+MongoDB示例 四.示例下载 一.MongoD

Linux下c++程序内存泄漏检测代码范例

Linux下对于程序内存泄漏检测的方法很多,最常用的的莫过于使用valgrind工具.但是valgrind相当于让程序在虚拟机中运行,会带来较大的系统资源开销,还会对程序的运行效率产生较大影响,对于那种资源占用大的程序,如果需要长时间运行才能暴露的泄漏问题,它就显得不太好用. linux下的c++程序中自己实现一个轻量级的泄漏检测代码其实是比较方便的,下面我就给出一个简单的范例,并作简单的说明.当然,我们还是应该提倡使用共享指针,用共享指针自动管理内存可以避免内存泄漏这样的不必要的麻烦. 基本原

快速本地搭建一个纯静态简易站点

app.js const http = require('http') const homePage = ` <!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8"> <meta name="viewport" content="width=device-width, initial-scale=1.0"&

Express使用art-template模板引擎

第一步:安装 npm install --save art-template npm install --save express-art-template 第二步:指定.html使用的解析引擎(官方给出的是art) app.engine('解析文件的后缀名', require('express-art-template')) 第三步:使用模板进行传值 app.get('/', function (req, res) { res.render('index.html', { user: { na

publish dotnet core angular spa app to docker

公司一个使用Angular开发的应用准备下个版本使用.Net Core开发后台, 刚好可以用到.Net Core Angular Spa模板, 而且最近也在学习Docker, 于是就想把它融汇贯通, 之前往Docker上部署过.Net Core MVC的应用, 那个比较简单, 使用微软官方文档的示例即可. 于是在使用.Net Core Angular Spa的时候, 我依葫芦画瓢发现这是走不通的, 因为Angular应用在构建的时候除了依赖.Net Core SDK还依赖于Node, 直接使用原

Nodejs学习笔记(七)--- Node.js + Express 构建网站简单示例

目录 前言 新建项目.建立数据库以及其它准备工作 新建express + ejs 项目:sampleEjs 创建数据库 修改package.json文件,安装session和mysql模块 样式和JQuery文件 清理项目冗余文件,并添加监听 规划路由,并新建相关文件 实现登录和注册需要的数据访问方法 注册 登录 首页 安全退出 写在之后 前言 上一篇学习了一些构建网站会用到的一些知识点   http://www.cnblogs.com/zhongweiv/p/nodejs_express_we

BotBuilder Nodejs示例查看

关于Bot Framework知识,可以参考<Nodejs Bot学习> 本文是根据bot framework官方示例<https://github.com/Microsoft/BotBuilder>写出的个人学习资料 示例一:basics-waterfall(最基础的瀑布流)(https://github.com/Microsoft/BotBuilder/tree/master/Node/examples/basics-waterfall) https://github.com/

基于nodeJs express 框架的图片上传和编辑(引用美图编辑工具)上传小示例

唉,由于近期工作中对于新知识的运用相对较少,也导致小码哥少有更新鄙人心得的机会.还望路过的基友们不要抱怨,勿喷,,,,, 本篇文章,是基于NodeJs Express框架完成的一个用于项目中图片上传和编辑上传的小示例,当然,由于项目工期不禁,都是在非工作时间慢慢完成的,导致至今该图片上传功能也未能插入项目中真正的验证最终效果.不过就小码哥感觉,基本思路及基本功能算是完成了. 下面便由小码哥来给基友们稍微讲解改功能的实现过程及其中用到的一些技术等等. 首先,说说NodeJs Express框架的搭