mocha是JavaScript测试框架
安装
npm install –global mocha
测试,例如:
demo.js
function abc(a,b,c){
return a+b+c
}
module.exports = abc
demo.test.js
const demo = require('./demo.js')
const expect = require('chai').expect
describe('test', function() {
it('错误', function() {
expect(demo(1,3,7)).to.be.equal(11)
})
})
测试(允许测试多个,默认执行test子目录的测试文件,如果test子目录存在该文件,可以不用加参数)
mocha demo.test.js
其中expect(demo(1,3,7)).to.be.equal(11)是断言,当1+3+7的结果不是11的时候,抛出错误
因为mocha本身没有断言库,需要导入 const expect = require(‘chai’).expect
查看内置的全部报告格式(默认是spec)
mocha –reporters
使用Dot格式显示
mocha –reporter dot
使用HTML报告
npm install –save-dev mochawesome
mocha其他参数
–watch:监听指定测试脚本,只要测试脚本发生改变就自动执行mocha
搜索测试实例(通过名称)
mocha –grep “test”
–invert :只执行不符合条件的测试脚本,要搭配–grep使用
如果要测试ES6,需要转码
npm install babel-core babel-preset-es2015 –save-dev
.babelrc
{
"presets": [ "es2015" ]
}
mocha –compilers js:babel-core/register
注意:mocha默认每个测试实例只能最多执行2000毫秒,如果在这个时间里没处理完毕将报错
需要指定超时时间(-t或–timeout参数),例如:
mocha -t 6000 demo.test.js
也可以设置-s或-slow参数来指定超过一定时间的部分高亮显示
mocha -t 6000 -s 3000 demo.test.js
生成指定格式的测试文件
mocha –recursive -R markdown > demo.md
mocha –recursive -R doc > demo.html