Mocha 单元测试框架简介
前言:
mocha是JavaScript的一种单元测试框架,既可以在浏览器环境下运行,也可以在Node.js环境下运行。
使用mocha,我们就只需要专注于编写单元测试本身,然后,让mocha去自动运行所有的测试,并给出测试结果。
mocha的特点主要有:
既可以测试简单的JavaScript函数,又可以测试异步代码,因为异步是JavaScript的特性之一;
可以自动运行所有测试,也可以只运行特定的测试;
可以支持before、after、beforeEach和afterEach来编写初始化代码。
安装:npm install mocha -g
一个简单的例子:
在项目根目录F:\mocha下,创建test目录,然后编辑第一个测试脚本 test.1.js,具体代码如下:
var expect = require('chai').expect; //引入断言库
function add(x, y) {
return x + y;
}
module.exports = add;
describe('加法函数的测试',function(){
it('4 加 4 应该等于 8',function(){
expect(add(4,4)).to.be.equal(8);
});
});
打开控制台,在根目录F:\mocha下,运行mocha,得到如下结果:

Mocha支持的断言模块
mocha支持任何可以抛出一个错误的断言模块。例如:should.js、better-assert、expect.js、unexpected、chai等。这些断言库各有各的特点,大家可以了解一下它们的特点,根据使用场景来选择断言库。
上面的测试脚本test.1.js里面,有一句断言:
expect(add(1,1)).to.be.equal(2);
Mocha本身不带断言库,所以必须先引入断言库。引入断言库之前,需安装该断言库npm install chai --save
var expect = require('chai').expect;
Mocha运行测试脚本
本次举例的目录展示:
/test
/test/test.1.js test.2.js test.3.js test.4.js
/test/dir
/test/dir/test.5.js test.6.js


1、运行单个测试脚本
打开控制台,进入test目录,输入命令:
>>mocha test.1.js

2、运行多个测试脚本
mocha命令后面紧跟测试脚本的路径和文件名,可以指定多个测试脚本,举例:
>> mocha test.1.js test.2.js test.3.js

>> mocha test/test.1.js test/test.2.js test/test.3.js

3、Mocha默认运行test子目录里面的测试脚本
>>mocha

4、test子目录下有目录分组,需加上--recursive参数。Mocha默认只执行test子目录下面第一层的测试脚本,不会执行更下层的测试脚本。
>>mocha --recursive (执行test目录下面所有的测试脚本。包含子目录dir下面的所有测试脚本)

5、使用通配符,同时指定多个文件
指定运行test目录下面文件后缀名为js的测试脚本
>>mocha test/*.js


感兴趣的童鞋,可进入官方查看更多介绍~~~
Mocha 单元测试框架简介的更多相关文章
- 【node】----mocha单元测试框架-----【巷子】
1.mocha简介 单元测试是用来对一个模块.一个函数.或者一个类来进行正确性的检测工作 特点: 既可以测试简单的JavaScript函数,又可以测试异步代码, 可以 ...
- javascript单元测试框架mochajs详解
关于单元测试的想法 对于一些比较重要的项目,每次更新代码之后总是要自己测好久,担心一旦上线出了问题影响的服务太多,此时就希望能有一个比较规范的测试流程.在github上看到牛逼的javascript开 ...
- javascript单元测试框架mochajs详解(转载)
章节目录 关于单元测试的想法 mocha单元测试框架简介 安装mocha 一个简单的例子 mocha支持的断言模块 同步代码测试 异步代码测试 promise代码测试 不建议使用箭头函数 钩子函数 钩 ...
- 前端单元测试框架-Mocha
引言 随着前端工程化这一概念的产生,项目开发中前端的代码量可谓是'急剧上升',所以在这种情况下,我们如何才能保证代码的质量呢,对于框架,比如React.Vue,因为有自己的语法规则,及时每个开发人员的 ...
- 单元测试及框架简介 --junit、jmock、mockito、powermock的简单使用
转 单元测试及框架简介 --junit.jmock.mockito.powermock的简单使用 2013年08月28日 14:33:06 luvinahlc 阅读数:6413 标签: 测试工具单元测 ...
- 【Pytest】python单元测试框架pytest简介
1.Pytest介绍 pytest是python的一种单元测试框架,与python自带的unittest测试框架类似,但是比unittest框架使用起来更简洁,效率更高.根据pytest的官方网站介绍 ...
- Selenium3+python自动化010-UnitTest框架简介和单元测试框架使用
一.UnitTest介绍 unittest单元测试框架不仅可以适用于单元测试,还可以适用WEB自动化测试用例的开发与执行,该测试框架可组织执行测试用例,并且提供了丰富的断言方法,判断测试用例是否通过, ...
- Google C++单元测试框架GoogleTest(总)
之前一个月都在学习googletest框架,对googletest的文档都翻译了一遍,也都发在了之前的博客里,另外其实还有一部分的文档我没有发,就是GMock的CookBook部分:https://g ...
- Google C++单元测试框架GoogleTest---GMock的CheatSheet文档
CheatSheet文档中包含了GMock所有常用的东西,看了这个基本上就可以用它了,本文接上篇博文:Google C++单元测试框架GoogleTest---Google Mock简介--概念及基础 ...
随机推荐
- 关于在Win10的Windows功能中没有IE11的问题
大概是用Win7的时候把IE关掉了,升级Win10之后就发现IE不见了,在Windows功能里面也没有:最近因为某些原因需要用到IE,还是用的虚拟机. 网上找到的方法普遍是执行命令:FORFILES ...
- Hadoop HBase概念学习系列之HMaster服务器(四)
每台HRegion服务器都会和HMaster服务器通信,HMaster的主要任务就是告诉每个HRegion服务器它要维护哪些HRegion. 当一台新的HRegion服务器登录到HMaster服务器时 ...
- java调用Linux执行Python爬虫,并将数据存储到elasticsearch--(环境脚本搭建)
java调用Linux执行Python爬虫,并将数据存储到elasticsearch中 一.以下博客代码使用的开发工具及环境如下: 1.idea: 2.jdk:1.8 3.elasticsearch: ...
- 团队作业——Alpha冲刺 6/12
团队作业--Alpha冲刺 冲刺任务安排 杨光海天 今日任务:编辑界面完成标题栏的开发,以及与已经完成gallery开发的同学,商讨我负责的界面中,图片滑动的具体措施. 明日任务:除了图像识别内容嵌入 ...
- linux 删除指定日期之前的文件
两种方法: 1. 在一个目录中保留最近三个月的文件,三个月前的文件自动删除. find /email/v2_bak -mtime +92 -type f -name *.mail[12] -exec ...
- Netty入门(二)时间服务器及客户端
在这个例子中,我在服务器和客户端连接被创立时发送一个消息,然后在客户端解析收到的消息并输出.并且,在这个项目中我使用 POJO 代替 ByteBuf 来作为传输对象. 一.服务器实现 1. 首先我们 ...
- linux(centos 7) 下安装nodejs
1,到node官网下载linux版本,有32和64位版本 2,将文件上传到linux下 3,使用tar -xvf node-v8.9.3-linux-x64.tar.xz 进行解压 4,建立软连接,变 ...
- __init__函数
初始化函数,类似于c++的构造函数 在创建一个对象时默认被调用,不需要手动调用.self后面接的形参,在类实例化的时候必须传递,__init__函数里的参数都属于成员变量
- 一兄弟把/etc/init.d/functions误删除了,这是多么悲催的节奏啊;
RPM resource /lib/lsb/init-functions /lib/lsb/init-functions vs. /etc/init.d/functions in init scrip ...
- 如何快速找到某个研究领域的所有SCI期刊
https://www.toutiao.com/a6624332265285485060/?tt_from=dingtalk&utm_campaign=client_share&tim ...