node测试框架比较全的一篇介绍
7 回复
我用了用 ava,感觉它的 test(xxx)
跟 mocha 的 describe it 相比还是描述性弱了点,就决定还是继续用 mocha 了。
而且要求全都可以独立执行,像 cnode 这种项目的测试代码,由于有些数据库状态需要保持,如果每个 case 都能保证独立运行的话,要花的工夫不少,还不如 mocha 那种顺序执行,然后 test 跟 test 之间存在依赖关系。
一些小的地方我也用过 ava,当对同一个函数,传入三种不同参数的时候(正常,失败,异常)的时候,test(xxx)
感觉不好写。
现在如果我写测试的话,应该还是 mocha + should + istanbul 吧。
- 描述性弱是设计的初衷不一样的,而 describe it这种属于bdd风格,此时pk的应该是https://github.com/sheerun/ava-spec
- 全都可以独立执行,好处是测试速度会比较快,缺点测试写的时候要提前规避,当然这是好习惯的,不过对于遗留系统的测试,还是慎用吧,确实工作量比较大
- ava断言可以随便玩,默认的其实也是借鉴了各大框架里比较好的实践的,不好写倒不至于
- 最后,你没有用ava玩generator和async/await来测试,所以感觉不太明显的,哈哈