Nodejs Mocha测试学习

参考大神阮一峰的文章《测试框架 Mocha 实例教程

目前在使用Nodejs,但写完的程序很容易出错,那怎么办?需要引入单元测试去做基础的测试

目前Nodejs用来做单元测试的工具接触的不多,现在只接触到Mocha,它是用来做单元测试的最好的工具之一。

关于Mocha的基础教程,可以看一下阮一峰老师的博客:测试框架 Mocha 实例教程

=》基本概念:

describe():测试区块,一个测试区块应该包含一个或多个测试区块,测试区块也是可以多层嵌套的

it():测试用例,一个测试区块中应该包含一个或多个测试用例

=》测试用例钩子:

before():在本区块所有测试用例执行之前执行

after():在本区块所有测试用例执行之后执行

beforeEach():在本区块每个测试用例之前执行

afterEach():在本区块每个测试用例之后执行

=》断言库:

chai:Mocha本身没有断言库,chai可以作为Mocha的断言库

chai-as-promise:目前的方法很多都是Promise的方式,这个断言库可以支持到Promise

=》测试用例管理:

only():测试区块和测试用例都支持only方法,如果某个测试区块或测试用例调用了only方法,则在运行单元测试时只运行该测试区块或测试用例

skip():测试区块和测试用例都支持skip方法,如果某个测试区块或测试用例调用了skip方法,则在支行单元测试时会跳过该测试区块或测试用例

only()和skip()共存的时候,only()会把skip()的作用给忽略掉

=》异步测试:

在测试方法异步完成后,调用done()方法,一个it测试实例中只能有一个done()方法

=》重新运行实例

在运行测试实例时,我们可以让一个实例重新执行一定的次数,在describe()和it()中加入this.retries(4);,即可执行4次,但是Mocha不推荐这样的做法

=》动太生成测试用例

var assert = require(‘chai‘).assert;

function add() {
    return Array.prototype.slice.call(arguments).reduce(function (prev, curr) {
        return prev + curr;
    }, 0);
}

describe(‘add()‘, function () {
    var tests = [
        { args: [1, 2], expected: 3 },
        { args: [1, 2, 3], expected: 6 }
    ];

    tests.forEach(function (test) {
        it(‘test adds ‘ + test.args.length + ‘ args‘, function () {
            var res = add.apply(null, test.args);
            assert.equal(res, test.expected);
        });
    });
});
时间: 2024-10-15 14:45:47

Nodejs Mocha测试学习的相关文章

nodejs mocha 单元测试

用mocha进行单元测试 首先搭建环境 1.安装mocha sudo npm install -g mocha 2.在模块装添加should,package.json添加"shoud":"*",然后npm install 如何测试 1.首先要在带测试文件中引入should require('should'),然后根据教程编写程序 2.mocha file 就可以对js文件进行测试了,但如果你的是coffee文件,那必须指定用什么语法解析 具体命令行: mocha -

使用mocha测试

学习了MOCHA官网的示例,将学习成果记录一下.[原文+例子:使用mocha测试] mocha是什么 Mocha是一个跑在node和浏览器上的javascript测试框架,让异步测试变得简单有趣, 并提供灵活精确的报告. 安装 使用npm全局安装 $ npm install --global mocha 作为项目开发依赖安装 $ npm install --save-dev mocha 开始 创建测试文件learn-mocha $ npm install mocha -g // 全局安装moch

phpunit测试学习 1:一点简单的扼要有用的东西的总结 一点入门认识

16:45 2015/12/8phpunit测试学习 1:一点简单的扼要有用的东西的总结  一点入门认识 具体的入门安装和入门实践请参照文中的推荐博客或网上其他博客推荐博客,我感觉这几篇博客写得很不错,虽然一和二可以结合在一起,内容并不多 且给新手更容易带来学习信心:安装建议参照我的另一篇安装博客,因为当时我是按照这种方式失败的,文中提及网 络原因导致失败,我当时显示的是安装的某个路径似乎没有维护了,那个url已经不存 在了(所以我也不知道是网络原因还是真的那个路径不存在了)(PHP教程:PHP

phpunit测试学习 2 分类总结断言涉及哪些方面

11:27 2015/12/9phpunit测试学习 2,  分类总结断言涉及哪些方面先推荐windows快速打开某处路径下的cmd,进入测试状态:可以在文件夹中,按住Shift+鼠标右键,这时候你就会看到下面的图片.然后点击在 此处打开命令行窗口就行了参照:http://www.jb51.net/os/windows/111622.html常规打开cmd进入目录太麻烦太慢了. 基本(assertNotEquals): 真假 是否为空 相等不等 大小等于 类型相同类(assertClassHas

通过测试学习BGP

测试编号 BGP-2-1-1 测试项目 BGP连接建立功能测试 测试依据 RFC1771 测试目的 保证DUT收到bgp建立连接请求后建立bgp连接功能测试 测试配置 测试组网 SW1---------------DUT-----------------SW2 VLAN10      VLAN20 SW1上配置: VLAN 10:10.0.0.2/24 LOOPBACK 1:1.1.1.1/32 DUT上配置: VLAN 10:10.0.0.1/24 VLAN 20:20.0.0.1/24 LO

开始nodejs+express的学习+实践(1)

开始nodejs+express的学习+实践(1) 开始nodejs+express的学习+实践(2) 开始nodejs+express的学习+实践(3) 开始nodejs+express的学习+实践(4) 开始nodejs+express的学习+实践(5) 开始nodejs+express的学习+实践(6)

用python进行微信公众号开发(仅测试学习)

今天看到篇教程,是用python开发微信公众号的,觉得有意思,就敲代码实现了一下,成功后更觉得好玩,故记录,方便开发深入时使用. 基础背景介绍: 首先得有个人微信号(没有自行注册),为方便测试学习: 其次,还要注册微信公众号,微信公众号不止一种,是分多种的,具体详情见官方说明,但仅测试学习时可先不注册公众号,(需要用个人微信号扫描登陆测试公众平台)利用微信提供的测试平台接口即可: 微信公众号说明:http://kf.qq.com/faq/120911VrYVrA130805byM32u.html

Web安全测试学习手册-业务逻辑测试

Web安全测试学习手册-业务逻辑测试 首先感谢朋友倾璇的邀请 http://payloads.online/archivers/2018-03-21/1 ,参与了<web安全测试学习手册>的相关撰写,目前负责业务逻辑测试这一块的撰写,目前初步已经成型,先发出来让大家看看,欢迎点评,也可以加入我们一起来撰写~ 业务逻辑测试 介绍:这里对Web应用业务逻辑方面的安全缺陷进行介绍和常见案例讲解. 任意用户密码重置 常见的缺陷 * 1.验证码类缺陷 -场景: 1.1 验证码回显在客户端(响应主体.Se

mocha测试

mocha测试1/ 全局安装mocha环境 npm install --global mochapackage.json的基本配置{ "name": "mocha-demos", "version": "1.0.0", "description": "", "main": "index.js", "scripts": { &qu