之前大学学习软件测试的时候,听过单元测试这个说法,但是一直比较抽象,没有具体的实践过,刚好今天学习阮一峰老师的mock教程,所以做一个笔记记录一下。
什么是单元测试?
我对单元测试的理解是对每一个方法或者模块进行测试(不一定对),而mocha是一个可以对我们编写的代码中定义的方法进行测试。
如何使用mocha
在使用mocha之前,你需要先了解断言这个概念。断言是判断实际值与预期值是否相等的工具。断言有assert、expect、should三种风格,或者称为三种写法。Chai.js是一个很流行的断言库,同时支持上面三种风格。我们在使用mocha的时候,也需要导入我们选用的断言。下面以chai.js断言库为例演示一下如何使用mocha进行单元测试:
- 下载mock.js,chai.js
npm install -g mock chai //全局安装
npm install mocha chai //项目内安装
- 编写测试代码
我们在项目中新建一个add.js的文件,代码如下:
function add(a,b) {
if(parseInt(a)&&parseInt(b)){
return a+b;
}else{
console.log("输入的参数有误");
}
}
新建一个add.test.js文件,代码如下:
var expect = require('chai').expect;
var add = require('../app');
describe('测试add函数', function () {
it('1加1应该等于2', function () {
expect(add(1, 1)).to.equal(2);
});
});
打开命令行,输入$ mocha add.test.js
就可以开始测试了,执行后将结果输出:
[测试add函数]
成功 1加1应该等于2
更多配置
基本的教程就是这些,除了这些最基本的功能外,还有很多高级用法大家可以到阮老师的博客上去观看。