自动化测试(三)02-js测试框架Mocha——测试案例-npx mocha & Mocha测试命令-mocha 文件相对路径
测试案例
新建demo文件夹,其中新建src文件夹,新建index.js文件
其中index.js为我们的被测试代码:
demo/src/index
/**
* 加法函数
* @param {第一个数} a
* @param {第二个数} b
*/
function addNum(a,b){
return a+b;
}
module.exports=addNum;
src文件夹同层级,新建测试脚本test/demo.js
//引用断言库
const expect = require('chai').expect;
//引入执行方法
const addNum = require('../src/index')
//描述测试
describe('测试index.js', function() {
describe('测试addNum函数', function() {
it('两数相加结果为两个数字的和', function() {
expect(addNum(1,2)).to.be.equal(3);
// 以上语法为chai的expect语法,它还有should语法和asset语法。
});
it('两个参数相加结果不为两个数字的和', function() {
expect(addNum(1,2)).to.be.equal(4);
// 以上语法为chai的expect语法,它还有should语法和asset语法。
});
});
});
// 等价的意思
var addNum=require('../src/index')
describe('测试index.js', function() {
describe('测试addNum函数', function() {
it('两数相加结果为两个数字的和', function() {
if(addNum(1,2)!==3){
throw new Error("两数相加结果不为两个数字的和");
}
});
});
});
主文件夹demo窗口中,执行指令
npx mocha
测试效果
Mocha测试命令
默认执行test文件夹下的index.js
修改文件夹test为test1或不存在test文件夹,执行npx mocha
则会报错不生效
如果想测试单一的测试js,可以用:
mocha test/index.test.js //mocha 文件相对路径
或者多个js
mocha test/index.test.js test/add.test.js
当然也可以用通配符测试某个文件夹下所有的js和jsx:
# node 通配符
mocha 'test/some/*.@(js|jsx)'
# shell 通配符
mocha test/unit/*.js
mocha spec/{my,awesome}.js