保存
×

mocha看上去相当不错的样子,想到开发大型系统。调用API的时候难免会出问题,这个时候要是有自动测试程序的话就会非常容易排查出问题。

注意事项:

语法介绍

mocha支持BDDTDDexports三种流行的测试接口,默认采用BDD

exports 实际上就是BDD,只是写法上省略了describe, it关键字

参考:

BDD(Behavior Drive Development)

describe(intro, fn)

describe函数主要用于将要测试的内容包在一起,便于分组查看,在函数参数中可以嵌套使用describe

it(desc, fn)

it是mocha测试的核心,其内的函数如果抛出了任何异常,都会被it捕获,提示测试失败

before()

before语句写在it()语句之前,在it内部写before是无效的。

beforeEach对后续的每个it()语句生效

after()

mocha 中的after在完成测试之后自动执行,对于异步测试,也就是手动调用done()函数表明测试完成才执行。

beforeEach()

afterEach()

输出格式

设定--reporter(-R)参数来控制mocha的输出内容和样式

dot

默认样式,点列出测试文件,只显示总测试结果

spec

将测试文件中的描述语句也呈现出来

nyan

一个火车头~

tap

纯文字,是Test-Anything-Protocol的消费者

landing

以飞机降落的模型,直观展示测试失败位置

list

类似于spec,但是将层级关系展开,不如spec直观

progress

json

使用实例

使用Makefile来实现mocha测试

上文用的是Cakefile,但是相对来说,不如Makefile来得通用,看了下Makefile的语法,感觉清晰不少,express、connect等框架也是用的Makefile,于是尝试使用Makefile来实现自动化测试

Tips