简介
单元测试是用来对一个模块、一个函数或者一个类来进行正确性检验的测试工作。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块称为"测试用例",表示一个单独的测试,是测试的最小单位。它也是一个函数,第一个参数是测试用例的名称,第二个参数是一个实际执行的函数。