单元测试 逃不开的Done 与约定
发布在单元测试与移动前端2014年7月5日view:3615
在文章任何区域双击击即可给文章添加【评注】!浮到评注点上可以查看详情。

关注单元测试有一段时间了,也做了些尝试然后就停了下来,寻找框架、方法、各种尝试

看得多,尝试的少,

关于框架分为两类,1是自动化测试工具类,2是js单元测试框架

关于自动化测试工具我尝试了http://totorojs.org/

阿里巴巴的测试工具,为什么尝试这个呢?看了些资料,安装部署都挺简单的,最重要的是基于NODEjs开发的,通过node安装很方便的

其他工具,查阅资料,仅仅是安装和部署都挺费劲的

totorojs 支持同时测试多个浏览器,默认支持js测试框架jasmine和mocha

js 的单元测试 难就难在 1 如何划分颗粒度、2异步回调

因为异步回调的原因,划分颗粒度也变的比后端程序难上加难,至于js模块之间的依赖,也是让单元测试变的复杂的一部分

遗憾的是到现在,我都没有在具体的项目中写单元测试,除了写demo学习之外

目前我有几点 觉得非常有必要进行测试

1 资源校验 例如 ajax请求服务器端的数据,判断格式是否合法,防止服务器端偷偷改格式 而我们不知道他们改了,BUG百出

                要进行1 有数据的格式、2无数据格式、3异常格式 判断

2 纯逻辑运算,这些运算应该都是同步执行的一些方法等

3 dom操作测试

4 用户行为和事件

我喜欢mocha。就是因为mocha完全满足了 这4个需求, 既可以运行在服务器端快速的进行资源校验类测试、纯逻辑测试

又可以配合totorojs 对多浏览器进行 dom操作测试、用户行为和事件测试

关于异步测试,我很郁闷,以前发现只要是异步测试都要传一个回调 方法Done进去,这等于说,以前写的方法NN的都无法测试了,不想后端,没写测试还可以补救,前端写了就死哪里了,没法补救了,于是开发看各种框架,是如何测试异步的,有没有不穿回调的。。。。。。。。。。。。

最后,我屈服了,传done 进去是所有测试框架的选择

看了node的写法和约定,似乎一个方法第一个参数为异常时候的回调方法已经成为规范,然后也就释然了。

评论
发表评论
暂无评论
WRITTEN BY
互联网fans
如何从前端编程为钱端呢?
TA的新浪微博
PUBLISHED IN
单元测试与移动前端

开发菜鸟 尝试单元测试和自动化测试 有错误请包涵、请指出 告别昨天,从单元测试开始!

我的收藏