由JQuery团队创建的javascript单元测试工具QUnit简介
什么是单元测试?单元测试又称模块测试,是检查程序模块(软件设计的最小单元)正确性的测试。单元测试主要用于检查程序的内部逻辑,也称为个体测试、结构测试或逻辑驱动测试。通常由编写代码的程序员来完成。一般来说,程序员每次修改一个程序,至少会进行一次单元测试,很有可能在编写程序的过程前后会进行多次单元测试,以验证程序满足软件规范(en:Specification)要求的工作目标,没有bugs单元测试虽然不是必须的,但也不差,涉及到项目管理的政策决策。3354维基百科(中文、英文)单元测试1的优势。是一种验证行为。程序中的每个功能都经过测试,以验证其正确性。它为未来的发展提供支持。即使在开发的后期,我们也可以轻松地添加功能或改变程序结构,而不用担心在过程中破坏重要的东西。为代码重构提供了保障。这样,我们可以更自由地改进程序。2.这是一种设计行为。编写单元测试将使我们能够从调用者的角度观察和思考。特别是,测试优先迫使我们将程序设计成易于调用和测试,也就是说,将软件解耦。3.这是一种写文件的行为。单元测试是一个无价的文档,它是展示如何使用函数或类的最好的文档。这个文档是可编译和可运行的,它保持最新并总是与代码同步。4.这是倒退。自动单元测试避免了代码的回归,编写完成后可以随时随地快速运行测试。参考:http://micic . org.cn/词组/200602281036115 . html 3358 tech . ddvip.com/2009-06/1245992965124860 . html 3358 www . blog Java . net/square/articles。158103.htmljavscript中的单元测试框架jsUnit的系统解决方案是基于XNuit规范的。如果可以使用jUnit、NUnit等框架,应该很容易使用,包括服务器(Java)。http://www.jsunit.net/'s评价:非常全面、专业,适合大型企业级发展。测试。简单测试。更多这是jQuery之父John Resig在《Pro Javascript》一书中推荐的测试框架http://open jsan . org/doc/t/th/theory/test/simple/0.21/lib/test/simple . html。评价:非常好用,非常简洁,适合中小项目快速引入单元测试。FireUnit是由John Resig创建的,他在自己的博客John Resig-FireUnit : JavaScript单元测试扩展中发布了他与Jan Odvarko合作开发的基于Firebug的扩展fire unit。简单来说,FireUnit为Firebug添加了一个选项卡面板,并提供了一些简单的JavaScript API来记录和查看测试。更多http://shawphy.com/2008/12/fireunit.html.评价:有测试痕迹。很简单。呵呵,John Resig是一个非常善于学习和创新的家伙。FireUnit在易用性上确实很突出,非常适合基于Firebug做环境调试的前端工程师。QUnit QUnit是jQuery团队开发的JavaScript单元测试工具,可以在http://docs.jquery.com/QUnit.下载评估,使用简单,界面美观。参考:http://www.cnblogs.com/kaima/archive/2009/04/09/javascriptp _ unittest . html我们来关注一下QUnit QUnit介绍JavaScript还是需要有很好的可读性,所以重构也是必须的。我们知道没有单元测试的重构是不可靠的。好的单元测试覆盖将使重构变得更容易和更便宜,所以优秀的javascript程序员需要一个单元测试框架。QUnit是一个功能强大、易于使用的JavaScript测试框架,用于测试jQuery及其插件,也可以测试常见的JavaScript代码。
使用QUnit首先我们先要http://docs.jquery.com/QUnit中找到qunit.js和qunit.css两个文件库奈特的框架如下:复制代码代码如下:DOCTYPE HTML PUBLIC '-//W3C//DTD HTML 4.01 Transitional//EN ' ' http://www .w3。org/TR/HTML 4/松散。' DTD ' HTML头脚本src=' http :http://代码。jquery。com/jquery-最新。js /脚本链接rel='样式表href=' qunit。CSS ' type=' text/CSS ' media=' screen '/脚本类型='text/javascript' src='ready(函数(){ });/script/head body h1 id=' qunit-header ' qunit示例/h1 H2 id=' qunit-banner '/H2 H2 H2 id=' qunit-用户代理'/H2 ol id=' qunit-tests '/ol/body/html注:正文中的元素编号命名必须依照如下形式,否则无法正常显示,我们可以将要测试的内容放在$(文档)。就绪()中。我们先来看一个简单的例子复制代码代码如下:DOCTYPE HTML PUBLIC '-//W3C//DTD HTML 4.01 Transitional//EN ' ' http://www .w3。org/TR/HTML 4/松散。“超文本标记语言头脚本src=' http :http://代码。jquery。com/jquery-最新。js "/脚本链接rel='样式表href=' qunit。CSS ' type=' text/CSS ' media=' screen '/脚本类型=' text/JavaScript ' src=' ready(function(){ test('一个基本测试例子,function() { ok(true),'测试布尔类型' );定义变量值='你好等于(“你好,值”我们期望得到hello’);});});/script/head body h1 id=' qunit-header ' qunit示例/h1 H2 id=' qunit-banner '/H2 H2 H2 id=' qunit-用户代理'/H2 ol id=' qunit-tests '/ol/body/html将此文件存为超文本标记语言直接在本地运行,结果如下
测试(名称、预期、测试):加入测试去运行,其中可以包含若干断言函数,比方说好吧,等于等确定(状态,[消息])是QUnit中常用的一个判断函数,可以判断布尔类型,整型非零为没错,字符串非""为真的。等于(实际、预期、[消息])是QUnit中常用的一个判等函数我们再来看一个稍微复杂一点的例子:复制代码代码如下:头部脚本src=' http :http://代码。jquery。com/jquery-最新。js '/脚本链接rel='样式表href=' qunit。CSS ' type=' text/CSS ' media=' screen '/script type=' text/JavaScript ' src=' http : qunit。js '/script脚本$(文档)。ready(function() { test('一个基本测试示例,function() { ok(true),'这个测试很好'));定义变量值='你好等于('你好,值,'我们期望值是你好');});模块('模块a’);测试('模块内第一次测试,function() { ok(true,‘all pass’);});测试('模块内第二次测试,function() { ok(true,‘all pass’);});模块('模块b’);测试('一些其他测试,function(){ expect(2);等于(真,假,"测试失败");等于(真,真,'通过测试');});});/script/head body h1 id=' qunit-header ' qunit示例/h1 H2 id=' qunit-banner '/H2 H2 H2 id=' qunit-用户代理'/H2 ol id=' qunit-tests '/ol/body/html得到的结果
模块(名称、生命周期):是用于对测试模块进行分组,[生命周期]用于初始化测试和清理测试。参考如下实例:复制代码代码如下:模块(' module2 ',{ setup: function() { ok(true),'每个测试一次额外断言');this.testData=' foobar},distandown : function(){ ok(true),'以及每次测试后的一个额外断言');} });测试('带有设置和拆卸的测试,function(){ expect(3);相同(this.testData,' foobar ');});异步测试:复制代码代码如下: codeasyncTest('异步测试,function(){ expect(2);$.getJSON('/Home/JosnDemo ',函数(结果){ equals(结果。x,‘SSS’);equals(result.y,' SSS ');start();});});/Home/JosnDemo '是提供数据数据的地址,这里需要注意的是必须在写完断言函数后调用开始()函数库奈特还提供了在测试时的一些更为高级的应用,比如希望在某个测试开始时做些工作等,可以参见http://个医生。jquery。com/QUnit # Integration _ into _ Browser _ Automation _ ToolsJQuery的很多核心套件是使用测试框架来进行测试的,http://个文件。jquery。参考测试套件中有很多的例子可以供大家参考。例子下载
版权声明:由JQuery团队创建的javascript单元测试工具QUnit简介是由宝哥软件园云端程序自动收集整理而来。如果本文侵犯了你的权益,请联系本站底部QQ或者邮箱删除。