简介
单元测试是用来对一个模块、一个函数或者一个类来进行正确性检验的测试工作。mocha是JavaScript的一种单元测试框架,既可以在浏览器环境下运行,也可以在Node.js环境下运行。
安装
全局安装
npm install -global mocha
局部安装
npm install --save-dev mocha
编写、运行测试脚本
在编译器中新建一个js文件,作为待测文件
//hello.js
module.exports = function (...rest) {
var sum = 0;
for (let n of rest) {
sum += n;
}
return sum;
};
新建一个test文件夹,在文件夹中新建一个js文件,对待测文件进行测试
const assert = require('assert');
const sum = require('../hello');
describe('#hello.js', () => {
describe('#sum()', () => {
it('sum() should return 0', () => {
assert.strictEqual(sum(), 0);
});
it('sum(1) should return 1', () => {
assert.strictEqual(sum(1), 1);
});
it('sum(1, 2) should return 3', () => {
assert.strictEqual(sum(1, 2), 3);
});
it('sum(1, 2, 3) should return 6', () => {
assert.strictEqual(sum(1, 2, 3), 6);
});
});
});
然后在package.json中添加以下内容:
"scripts": {
"test": "mocha"
}
命令行运行npm test
后会出现以下内容
#hello.js
#sum()
√ sum() should return 0
√ sum(1) should return 1
√ sum(1, 2) should return 3
√ sum(1, 2, 3) should return 6
4 passing (17ms)
describe、it
测试脚本里应该包含一个或多个describe
块,一个describe
块应该包含一个或多个it
describe
块称为"测试套件",表示一组相关的测试。它是一个函数,第一个参数是测试套件的名称,第二个参数是一个实际执行的函数。
it
块称为"测试用例",表示一个单独的测试,是测试的最小单位。它也是一个函数,第一个参数是测试用例的名称,第二个参数是一个实际执行的函数。