mocha学习笔记
一、测试脚本的写法
1、通常测试脚本与所要测试的源码脚本同名,但是后缀名为.test.js。
2、describe块称为测试套件,它是一个函数,第一个参数是测试套件的名称,第二个参数是实际执行的函数。
3、it块称为测试用例,是测试的最小单位。第一个参数是测试用例的名称,第二个参数是一个实际执行函数。
二、断言库
expect(add(1,1)).to.be.equal(2)
断言功能由断言库实现,mocha本身不带断言库,必须引入断言库。
三、mocha基本用法
mocha默认执行test子目录里面的所有测试脚本,但默认只执行第一层测试用例,所以要加上--recursive,则test子目录下面的所有测试用例不管哪一层都会执行。
四、通配符
shell通配符:mocha spec/{my,your}.js
mocha test/unit/*.js
node通配符:mocha 'test/**/*.@(js/jsx)' 指定test目录下面的任何子目录中、文件后缀名为js或jsx的测试脚本。注意node通配符要放在单引号之中,否则*会先被shell解释。改用shell来写,mocha test/{,**/}*.{js,jsx}
五、转义
es6: mocha --compilers js:babel-core/register
coffee: mocha --compilers coffee:coffee-script/register
六、异步测试
mocha默认每个测试用例最多执行2000毫秒,对于异步操作的测试用例时间往往不够,需要用-t或或者--timeout指定超时门槛。
it执行的时候传入一个done参数,测试结束时必须显式的调用这个函数,告诉mocha测试结束了。
mocha支持Promise,允许直接返回promimse,等到状态改变再执行断言,不用显式的调用done方法。
七、测试用例的钩子
四个钩子:before(),after(),beforeEach(),afterEach()

浙公网安备 33010602011771号