Unit test
mocha
- describe可以嵌套
- it不能嵌套
时序
- describe里地it的非异步部分按它们定义的顺序执行,它们所触发的回调的注册顺序也遵从it的注册顺序
- 不被describe包裹的部分执行顺序的优先级最高
- 同一层次的describe执行顺序遵从它们的定义顺序
- 外层describe的所有it执行优先级高于嵌套的describe
- describe内所有函数全部是non-block的,所以不能再其中指望以顺序的方式传递变量什么的
处理异步单元测试
尤其在需要发出请求,处理返回的时候,由于NodeJs是全异步的,所以describe不会捕捉到返回结果,所以需要在it的callback中给一个done,并在异步调用结束后调用done()
同时它的几个hook也接受使用done的异步调用。