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() 

 

posted @ 2017-11-26 20:07  虹夜  阅读(440)  评论(0)    收藏  举报