mocha测试框架
介绍
Mocha(发音"摩卡")是JavaScript测试框架之一,可在浏览器和Node环境都可以使用。
所谓"测试框架",就是运行测试的工具。通过它,可以为JavaScript应用添加测试,从而保证代码的质量。
安装
`$ npm install --global mocha`
测试脚本的写法
- Mocha的作用是运行测试脚本,首先必须学会写测试脚本。所谓"测试脚本",就是用来测试源码的脚本。
- 测试脚本与所要测试的源码脚本同名,但是后缀名为.test.js(表示测试)或者.spec.js(表示规格)。比如,add.js的测试脚本名字就是add.test.js。
// add.js
function add(x, y) {
return x + y;
}
module.exports = add;
// add.test.js
var add = require('./add.js');
var assert = require('assert').strict;
describe('加法函数的测试', function() {
it('1 加 1 应该等于 2', function() {
assert.strictEqual(add(1,1) , 2)
});
});
上面这段代码,就是测试脚本,它可以独立执行。测试脚本里面应该包括一个或多个describe块,每个describe块应该包括一个或多个it块。
describe块称为"测试套件"(test suite),表示一组相关的测试。它是一个函数,第一个参数是测试套件的名称(“加法函数的测试”),第二个参数是一个实际执行的函数。
it块称为"测试用例"(test case),表示一个单独的测试,是测试的最小单位。它也是一个函数,第一个参数是测试用例的名称(“1 加 1 应该等于 2”),第二个参数是一个实际执行的函数。
断言库
所谓"断言",就是判断源码的实际执行结果与预期结果是否一致,如果不一致就抛出一个错误。
assert.strictEqual(add(1,1) , 2)
这句断言调用add(1, 1),结果应该等于2。
所有的测试用例(it块)都应该含有一句或多句的断言
断言库有很多,如包含但不限以下三种用法,
const assert = require('assert').strict;
const expert = require('chai').expert;
const should = require('should')
基本用法
基本用法参考: 测试框架 Mocha 实例教程—阮一峰