18 January 2016
号外号外:专注于移动端的fullPage.js来啦!!!快点我查看

最近(Jerry Zou)提议将data.js的单元测试工具替换为mocha(原来的是qunit),并且主导进行了整个过程,感谢社区,让我有动力了解这个优秀的工具。

data.js 是带有消息通知的数据中心,我称其为会说话的数据。旨在让编程变得简单,世界变得美好

本文将记录一些学习的笔记和使用过程中遇到的问题。

关于

我理解mocha是一个测试框架,特点是支持node和浏览器端,断言工具自由化,并有很多扩展。

从前用qunit做测试,node需要用nodeunit,需要维护两套测试代码,非常不方便,有了mocha后就可以只维护一套了。

断言

mocha只是一个测试框架,只提供了测试套件,具体的断言工具还需要在挑选,比较流行的是chai,chai有很多选择,可以选择tdd,bdd,除此之外你还可以在这里挑选更多的断言工具。

我们开始使用的是chai,后来发现在ie9一下不能run起来,就只能放弃了,换成了expect.js

安装

全局安装mocha

npm install -g mocha@~2.3.4 # 安装mocha

本地安装

npm install -g mocha@~2.3.4 --save-dev

安装expect.js

npm install -g expect.js@~0.3.1 --save-dev

运行测试

写好单元测试后运行下面的命令运行测试:

mocha test

总结

代码例子可以查看data.js,整体下来感觉mocha还是很赞的,用起来也比较舒服,回头有时间把项目的测试框架全部换成mocha,o(∩_∩)o 哈哈。

我相信你看完我的笔记肯定学不会mocha,没关系看看参考资料的内容吧,我也是看着这个学习的。

参考资料

原文网址:http://yanhaijing.com/tool/2016/01/18/my-mocha/

欢迎订阅我的微信公众帐号,只推送原创文字。扫码或搜索:颜海镜
微信公众号:颜海镜


前端小武

前端小武 on 18 Jan 2016

大家的“抹茶”

liz

liz on 24 Feb 2016

mocha官方示例中多数用的should,为啥国内大多数教程用的是expect

颜海镜

颜海镜 on 25 Feb 2016

开始我用的chai,发现兼容性有问题,should和expect不是一种风格吧

liz

liz on 25 Feb 2016

「require('should')」和「require('chai').expect」。Mocha官方网站上的「Examples」多用「should」,而很多中文教程多用「chai」

颜海镜

颜海镜 on 26 Feb 2016

chai在ie上有兼容性问题,我用的expect.js,可能一开始写中文教程的自己的选择吧,后来的人就都是抄袭的