啥时候js单元测试变的重要起来?
作为一个菜鸟,开这个专栏其实不合适,但又突然发现这个比以往任何时候都重要,所以还是写写我的感受
首先,在传统的pc上也有大量的web站点和各种项目都有复杂的js,但是基本不做单元测试,为啥呢?因为传统pcweb的重点在服务器端,客户端的s有时候都是服务器端的人来写的,单纯的做前端是件很鸡肋的事情,你若会ps,会做切图,那还好点,如果只会写js和css那就悲剧了,组织不需要你。
因为
- ie6的存在,考虑兼容性,体验的复杂度被压低了,稳定压倒一切
- 在pc上新打开一个浏览器,新打开一个标签页面,太容易了,单页面的需求不强,而且很难搞,很鸡肋
- 以前前端80%的时间都在和ie6做斗争,大神们都在研究如何在ie6上实现某些特性,留给其他浏览器的时间不多。
- 在pc上用户不挑剔
但是,在移动端完全不一致了
- 挑剔的用户和挑剔的开发者.因为移动领域刚刚崛起,用户体验大局未定,微软的Metro风格 苹果的 扁平化风格, 谷歌的自由定产生的风格,造成用户体验上的复杂,就连一个简单的按钮都没有统一的、基本的、可用的 标准。用户在多元化的风格面前或者接受,或者拒绝,很显然,只能接受一个拒绝其他。所以变得挑剔了
- 高起点,移动端为苹果和谷歌两个厂家主导的浏览器,很现代,支持很多nb的特性,造成技术起点高。
- 一般人只有一个标签。所以因为手机上新建一个标签操作复杂,一般人是不会主动新建一个标签的,所以N个原来通过新建标签解决的问题瞬间被强制放到一个页面上,js复杂度上升
- 纯js:当一个页面html+css和js的比为1:100的时候,前者可以忽略,所以页面的稳定性有后者决定(ps:传统pc由前者决定),所以js的重视程度被提高
- js本身的开放与混乱造成。js随着代码量的增加要比其他语言随着代码量的增加更容易出问题
- js+html5 出现迅速发展的迹象
so 我开始学习js单元测试提升自己基本功力
啥时候js单元测试变的重要起来?的更多相关文章
- 前端测试框架对比(js单元测试框架对比)
前端测试框架对比(js单元测试框架对比) 本文主要目的在于横评业界主流的几款前端框架,顺带说下相关的一些内容. 测试分类 通常应用会有 单元测试(Unit tests) 和 功能测试(Function ...
- js单元测试框架
js单元测试框架 前端测试框架对比(js单元测试框架对比) 本文主要目的在于横评业界主流的几款前端框架,顺带说下相关的一些内容. 测试分类 通常应用会有 单元测试(Unit tests) 和 功能测试 ...
- Octopus系列之如何让前台的js脚本变得灵活重用
Octopus系列如何让前台的js脚本变得灵活,重用 方式1:ajax方式 方式2:form表单方式 面向对象的脚本封装 jQuery的封装 做Web开发的少不了前台Ajax的使用, 返回true:f ...
- JS 单元测试
JS单元测试,我工作时主要以mocha + chai 下面时具体的文档: mocha: https://mochajs.org/#asynchronous-code Chai: http://chai ...
- Moq让单元测试变得更简单
[ASP.Net MVC3 ]使用Moq让单元测试变得更简单 前几天调查完了unity.现在给我的任务是让我调查Moq. 以下是自己找了资料,总结并实践的内容.如果有表述和理解错误的地方.恳请指正. ...
- 玩转Node.js单元测试
代码部署之前,进行一定的单元测试是十分必要的,这样能够有效并且持续保证代码质量.而实践表明,高质量的单元测试还可以帮助我们完善自己的代码.这篇博客将通过一些简单的测试案例,介绍几款Node.js测试模 ...
- 【JS单元测试】Qunit 和 jsCoverage使用方法
近日在网上浏览过很多有关js单元测试相关的文档,工具,但是,针对Qunit 和 jsCoverage使用方法,缺少详细说明,对于初入前端的人来说,很难明白其中的意思,特此整理这篇文章,希望 ...
- Qunit 和 jsCoverage使用方法(js单元测试)
Qunit 和 jsCoverage使用方法(js单元测试) 近日在网上浏览过很多有关js单元测试相关的文档,工具,但是,针对Qunit 和 jsCoverage使用方法,缺少详细说明,对于初入前端的 ...
- php怎么获取js的变量值
使用php做网站的时候,经常需要我们与前端的页面进行交互,有时候我们还需要通过php来获得js变量中的值,这种情况我们可以通过在其中嵌入js代码的方式来获得这个变量. 首先我们创建一个test的php ...
随机推荐
- ubuntu 下使用 putty 调试
转自:http://blog.csdn.net/wh_19910525/article/details/39313457 Ubuntu的机子上,插上USB2COM线,准备开工. 检查USB2COM在本 ...
- ckplayer视频播放插件使用
研究ckplayer插件播放视频,播放视频需要配置信息修改如下: 1.设置ckplayer.js中的logo: 'null' 可以隐藏视频播放头部的图标: 2.设置ckplayer.js中的ckcpt ...
- 【翻译十】java-固定锁和同步
Intrinsic Locks and Synchronization Synchronization is built around an internal entity known as the ...
- JavaScript中判断对象类型方法大全2
在JavaScript中,有5种基本数据类型和1种复杂数据类型,基本数据类型有:Undefined, Null, Boolean, Number和String:复杂数据类型是Object,Object ...
- sqlplus链接数据库报ORA-09925: Unable to create audit trail file
[localhost.localdomain]:[/oracle11/app/oracle11/product/11.2.0/dbhome_1/dbs]$ sqlplus / as sysdba SQ ...
- [LeetCode] Valid Parentheses
Given a string containing just the characters '(', ')', '{', '}', '[' and ']', determine if the inpu ...
- Oracle 10g Block Change Tracking特性
Using Block Change Tracking to Improve Incremental Backup Performance 使用块改变跟踪改善增量备份的性能 The block cha ...
- hdu 4046 2011北京赛区网络赛G 线段树 ***
还带这么做的,卧槽,15分钟就被A了的题,居然没搞出来 若某位是1,则前两个为wb,这位就是w #include<cstdio> #include<cstring> #defi ...
- ASP.NET 5中的ASP.NET Bundles跑到哪里去了?
(此文章同时发表在本人微信公众号"dotNET每日精华文章",欢迎右边二维码来关注.) 众所周知,在ASP.NET MVC中很早就存在一个所谓的"bundling and ...
- Shell拆分大文件
需求:由于文件过大,不方便进行相关的操作,需要将其拆分成大小小于500000B,即488.28125k的文件.同时,为了保证文件的可读性,行内不可以分割,同时,由于内容是块状可读,按照日期进行分割的, ...