JavaScript单元测试

原创 2016年07月15日 15:35:34

编写代码时,以单元测试代码伴随正式的功能代码是很好的实践和习惯,不仅可以保证最终代码的质量,对用户负责,也可以让自己对写出的代码更有信心和把握。JavaScript在现代Web开发中占的比重越来越大,早已不是在页面中插入几行代码的时代,自然也应该做单元测试。而且作为一种弱类型的动态语言,不仅无法检查编译时类型错误,高度的灵活性也容易隐藏输入时的失误,单元测试以保证代码能如预期运行就更为必要。另一方面,与Java等编程语言相比,JavaScript的单元测试又有一些前期工作和事项需要注意。
1. 分离和组织代码。初学者习惯将JavaScript和html代码混杂在一起,实际上相当于把业务逻辑层和显示层混杂。这样既无法测试与显示无关的代码,即使是测试要修改html的代码也不方便。好的做法是将JavaScript和html代码分开,功能代码放在单独的脚本文件里,测试代码放在另一个脚本文件里。这样不仅有利于测试,对开发和维护本身都有利。
2. 按功能分类测试。JavaScript从功能上可以分为与DOM有关的和无关的两大类。与DOM无关的包括字符串、日期、数字处理,程序框架如原型和对象处理等。对它们的测试不需要特定的页面。要读写DOM的代码又可以分为通用的和应用程序特定的两类。前者可以设计若干个通用测试页面,后者则必须和应用程序最终的页面一起测试。所有功能上通用的JavaScript代码都和第三方类库一样,一旦测试通过就一劳永逸,实际项目开发只需编写特定的代码和其对应的测试代码。
3. 使用单元测试类库。开发有开发的类库,测试也有测试的类库,可以帮助我们方便和高效地测试。JavaScript的单元测试类库也很多,QUnit、JsUnit、Unit JS,挑选的原则和挑选开发类库一样。看看示例代码,动手试验一下。个人经验是决定选择的标准。

javascript单元测试 jsunit2.2

  • 2011年03月01日 01:39
  • 7.44MB
  • 下载

JavaScript单元测试Jasmine源代码

  • 2013年03月01日 10:06
  • 25KB
  • 下载

Javascript单元测试框架Qunit和Jasmine的比较

原文地址: http://www.monring.com/front_end/qunit-jasmine-unit-test.html Javascript的单元测试,其实之前用的不...

(译)学习如何构建自动化、跨浏览器的JavaScript单元测试

作者:Philip Walton 译者:Yeaseon 原文链接:点此查看 译文仅供个人学习,不用于任何形式商业目的,转载请注明原作者、文章来源、翻译作者及链接,版权归原文作者所...

如何进行高效JavaScript单元测试

导读:能在一个浏览器上运行的JavaScript并不一定能在其他浏览器上运行。如果没有对代码进行单元测试,那么在决定升级或支持新浏览器的时候,组织就需要花钱测试或重新测试Web应用程序。在本文中,了解...

边译边学-QUnit下的JavaScript自动化单元测试

上班的时候,有同事发了一个js函数,问是否对这个函数做过测试,虽然我通常不测前台,但隐约知道组内前台测试通常是直接在浏览器console进行js函数测试。那么,既然web有后台的借口自动化,前台的UI...
  • hdyrz
  • hdyrz
  • 2017年07月05日 23:22
  • 82

Javascript单元测试的基础

当你写代码的时候,无论是JS代码或其他程序语言是否正常工作是一件你需要关注的事情。你写了一个代码片段,想让它能像预想的一样工作,没有任何差别,这就是为什么你要写那段代码。想象一下,当你已经写了差不多几...
  • n8765
  • n8765
  • 2015年07月31日 15:54
  • 269

javascript 单元测试覆盖率工具,及Grunt集成

js单元测试Unit Test的工具包括Jasmine, Mocha, NodeUnit, JsTestDriver等。 以Jasmine最为流行,因为其良好的语义和丰富的Mocking机制。 无...
  • mebusw
  • mebusw
  • 2013年03月12日 21:10
  • 2170

使用QUnit进行Javascript单元测试

相信大家都对JUnit并不陌生,虽然在国内使用JUnit真正进行单元测试的人应该并不是十分普及(估计大家都是自己简单进行测试,很少能使用JUnit进行回归测试等),但是这依然不能改变单元测试的重要性。...

Jasmine-基于JavaScript的行为驱动单元测试框架简介

本文由markdown语法编辑而成。1. 概述:Jasmine is a behavior-driven development framework for testing JavaScript co...
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:JavaScript单元测试
举报原因:
原因补充:

(最多只允许输入30个字)