单元测试 逃不开的Done 与约定
关注单元测试有一段时间了,也做了些尝试然后就停了下来,寻找框架、方法、各种尝试
看得多,尝试的少,
关于框架分为两类,1是自动化测试工具类,1是js单元测试框架
关于自动化测试工具我尝试了http://totorojs.org/
阿里巴巴的测试工具,为什么尝试这个呢?看了些资料,安装部署都挺简单的,最重要的是基于NODEjs开发的,通过node安装很方便的
其他工具,查阅资料,仅仅是安装和部署都挺费劲的
totorojs 支持同时测试多个浏览器,默认支持js测试框架jasmine和mocha
js 的单元测试 难就难在 1 如何划分颗粒度、2异步回调
因为异步回调的原因,划分颗粒度也变的比后端程序难上加难,至于js模块之间的依赖,也是让单元测试变的复杂的一部分
遗憾的是到现在,我都没有在具体的项目中写单元测试,除了写demo学习之外
目前我有几点点 觉得非常有必要进行测试
1 资源校验 例如 ajax请求服务器端的数据,判断格式是否合法,防止服务器端偷偷改格式 而我们不知道他们改了,BUG百出
要进行1 有数据库格式、2无数据格式、异常格式 判断
2 纯逻辑运算,这些运算应该都是同步执行的一些方法等
3 dom操作测试
4 用户行为和事件
我喜欢mocha。就是因为mocha完全满足了 这4个需求, 既可以运行在服务器端快速的进行资源校验类测试、纯逻辑测试
又可以配合totorojs 对多浏览器进行 dom操作测试、用户行为和事件测试
关于异步测试,我很郁闷,以前发现只要是异步测试都要传一个回调 方法进去,这等于说,以前写的方法NN的都无法测试了,不想后端,没写测试还可以补救,前端写了就死哪里了,没法补救了,于是开发看各种框架,是如何测试异步的,有没有不穿回调的。。。。。。。。。。。。
最后,我屈服了,
看了node的写法和约定,似乎一个方法第一个参数为异常时候的回调方法已经成为规范,然后也就释然了。
单元测试 逃不开的Done 与约定的更多相关文章
- Java Hour 60 逃不开的GC
第一个大家都应该知道的概念就是应用程序中不断的new 分配了内存,却没有显式的代码去清理内存,而执行这个清理过程的自动垃圾回收的过程就叫做GC. 但是,JVM 说明并没有要求一定要有GC,JVM 说明 ...
- 到头来还是逃不开Java - Java13程序基础
java程序基础 没有特殊说明,我的所有学习笔记都是从廖老师那里摘抄过来的,侵删 引言 兜兜转转到了大四,学过了C,C++,C#,Java,Python,学一门丢一门,到了最后还是要把Java捡起来. ...
- 到头来还是逃不开Java - Java13核心类
Java13核心类 没有特殊说明,我的所有学习笔记都是从廖老师那里摘抄过来的,侵删 引言 兜兜转转到了大四,学过了C,C++,C#,Java,Python,学一门丢一门,到了最后还是要把Java捡起来 ...
- 到头来还是逃不开Java - Java13面向对象基础
面向对象基础 没有特殊说明,我的所有学习笔记都是从廖老师那里摘抄过来的,侵删 引言 兜兜转转到了大四,学过了C,C++,C#,Java,Python,学一门丢一门,到了最后还是要把Java捡起来.所以 ...
- Visual Studio 2012使用NUnit单元测试实践01,安装NUnit并使用
在Visual Studio 2012中,默认使用Microsoft自带的MS-Test测试框架.但,Visual Studio同样允许使用第三方测试框架,比如NUnit,xUnit,MbUnit,等 ...
- 系统架构:Web应用架构的新趋势---前端和后端分离的一点想法
最近研究servlet,看书时候书里讲到了c/s架构到b/s架构的演变,讲servlet的书都很老了,现在的b/s架构已经不是几年前的b/s架构,其实b/s架构就是web应用开发,对于这样的架构我们现 ...
- Web应用架构的新趋势
系统架构:Web应用架构的新趋势---前端和后端分离的一点想法 最近研究servlet,看书时候书里讲到了c/s架构到b/s架构的演变,讲servlet的书都很老了,现在的b/s架构已经不是几年前 ...
- 贝叶斯vs频率派:武功到底哪家强?| 说人话的统计学·协和八(转)
回我们初次见识了统计学理论中的“独孤九剑”——贝叶斯统计学(戳这里回顾),它的起源便是大名鼎鼎的贝叶斯定理. 整个贝叶斯统计学的精髓可以用贝叶斯定理这一条式子来概括: 我们做数据分析,绝大多数情况下希 ...
- 想进BAT?这些面试题助你一臂之力
1 软性热身题 这种题目,考的就是你的软性能力,比如表达能力,理解能力,协调能力,一个词概括就是套路.这类题目会在面试开始热身的时候,问一道两题,不会多,但是如果你能回答的有条不紊,清晰达意,那么就会 ...
随机推荐
- Web编程基础--HTML、CSS、JavaScript 学习之课程作业“仿360极速浏览器新标签页”
Web编程基础--HTML.CSS.JavaScript 学习之课程作业"仿360极速浏览器新标签页" 背景: 作为一个中专网站建设出身,之前总是做静态的HTML+CSS+DIV没 ...
- Spark Standalone
环境:CentOS 6.6 x64 选用Spark版本 1.4.1.Zookeeper 3.4.6 一.安装 1.Spark运行模式 Local:使用于windows和linux平台(多用于测试,细 ...
- socket编程热身程序
/*server.c*/ #include <stdio.h> #include <arpa/inet.h> #include <sys/types.h> /* S ...
- 【bzoj3450】Tyvj1952 Easy
题目描述 某一天WJMZBMR在打osu~~~但是他太弱逼了,有些地方完全靠运气:(我们来简化一下这个游戏的规则有n次点击要做,成功了就是o,失败了就是x,分数是按comb计算的,连续a个comb就有 ...
- jvm死锁解决
那我们怎么确定一定是死锁呢?有两种方法. 1>使用JDK给我们的的工具JConsole,可以通过打开cmd然后输入jconsole打开. 1)连接到需要查看的进程.
- ASP.NET 操作Excel中的DCOM配置方式
具体配置方式如下: 1. 组件服务管理窗口 在运行栏中输入命令:dcomcnfg,打开组件服务管理窗口,在组件服务->计算机->我的电脑->DCom配置->找到Microsof ...
- python多线程学习记录
1.多线程的创建 import threading t = t.theading.Thread(target, args--) t.SetDeamon(True)//设置为守护进程 t.start() ...
- Java 中的内存泄露
1.当你完成对流的读写时,应该通过调同close方法来关闭它,这个调用会释放掉十分有限的系统资源,否则,如果一个应用程序打开了过多的流而没有关闭,那么系统资源将被耗尽.
- DirectAccess
DirectAccess Direct Access 称为直接访问,它是Windows 7(企业版或者更高级版本)和Windows Server 2008 R2中的一项新功能.凭借这个功能,外网的用户 ...
- 【JSOI2010】Group 部落划分 BZOJ 1821
1821: [JSOI2010]Group 部落划分 Group Time Limit: 10 Sec Memory Limit: 64 MB 聪聪研究发现,荒岛野人总是过着群居的生活,但是 ...