作为一个项目而言,单元测试应该是必备的一部分,也是最容易被大家忽略的一部分,这篇文章就介绍一下mocha这个测试框架的用法。
DEMO地址 https://github.com/TimLiu1/study-mocha.git
一、环境搭建
首先先全局安装mocha
npm i mocha -g
二、 简单测试脚本书写
1、新建 calcu.js
//add
exports.add = (a,b) => {
return a + b
}
2、新建测试脚本 calcu.test.js,一般命名规则测试脚本和原脚本同名,但是后缀名为.test.js
let calcu = require('./calcu');
let should = require("should");
describe("add func test",() => {
it('2 add 2 should equal 4',() => {
calcu.add(2,2).should.equal(4)
})
})
这一段代码就是测试脚本,可以独立运行,使用命令
mocha demo1/mocha demo1/calcu.test.js
describe 表示测试套件,是一序列相关程序的测试
it表示单元测试(unit test),也就是测试的最小单位。
三、断言库简介
断言库可以理解为比较函数,也就是断言函数是否和预期一致,如果一致则表示测试通过,如果不一致表示测试黑失败,一个unit test里面可以包含多个断言语句。
本身mocha是不包含断言库的,所以必须引入第三方断言库,目前比较受欢迎的断言库 有 should.js、expect.js 、chai,具体的语法规则需要大家去查阅相关文档。
因为chai既包含should、expect和assert三种风格,可扩展性比较强。
下面简单的介绍一下这是那种风格
should
let num = 4+5
num.should.equal(9);
num.should.not.equal(10);
//boolean
'ok'.should.to.be.ok;
false.should.to.