javascript单元测试工具QUnit介绍

QUnit 介绍:

QUnit是jQuery团队开发的JavaScript单元测试工,使用起来非常方便。有漂亮的外观和完整的测试功能(包括异步测试)。

由于存在浏览器解析环境、用户操作习惯等差异,前端程序的许多问题是无法捕捉或重现的,现在前端程序的测试多是黑盒测试,靠模仿用户不停的点击来寻 找程序bug。这种方式既费时费力,又无法保证测试的覆盖面。

随着前端逻辑和交互越来越复杂,和其他编程语言一样,一个函数,一个模块,在修改bug或添加新功能的过程中,很容易就产生新的bug,或使老的 bug复活。这种情况下,反复进行黑盒测试效率很低,如果测试工作交给QA去做,更是怨声载道。此外,浏览器兼容性测试是前端程序测试的重要一环,在多个 浏览器之间测试前端程序,黑盒测试的工作量就会成倍增加。这时候单元测试就体现出了优势,你只需要写一份单元测试代码,到各给浏览器跑一遍,就可以轻松看 到不同的浏览器导致的BUG。有新功能的增加或修改时,只需要跑一下单元测试,问题就一目了然。同时,单元测试本身就是一份良好的说明文档,而且总是能跟 着程序保持同步。

使用方法:

QUnit虽然是jQuery团队开发,但是并不依赖jQuery,使用QUnit也很方便,只需要引入一个css和一个js文件即可。

<link rel="stylesheet" href="http://github.com/jquery/qunit/raw/master/qunit/qunit.css" type="text/css" media="screen" />
<script type="text/javascript" src="http://github.com/jquery/qunit/raw/master/qunit/qunit.js"></script>

你当然可以把这两个文件下载到本地直接使用。

测试方法介绍:

module(string,lifecycle)声明一个测试模块。第一个个参数为必填,第二参数可选。如:

module("doAdd方法测试模块");

test( name, expected, testfuction )开始一个测试。第一个参数为必填,测试名字,字符串。第二个参数为选填,预期的测试个数,数字。第三个参数为测试的方法。如:

test('doAdd(a,b)方法测试',function() {
    expect(1);
    equals(doAdd(2,5), 7, '2+5等于7');
});

ok( state, message ) 布尔断言,第一个参数是true时,表示测试通过,第二个参数选填,附加信息。

equals( actual, expected, message )等价判断,第一个参数为实际的执行结果,必填。第二个参数为预期结果,必填。当两个结果相等时,测试通过,否则测试不通过。第三个参数为附加信息。但要 注意的是,equals适用于判断字符串、数字等是否相等。对于数组、object、或自定义类别的对比,应该使用same()函数测试。
same( actual, expected, message ) 与equal用法一样,适合判断数组、object等的等价。
expect( number ) 测试个数预期,与test函数的第二个参数等价。如果实际测试次数和预期值不符合,则测试不通过。

asyncTest( name, expected, test ) 异步测试。该测试模块并不立即执行,等到start()函数出现时才开始执行,适合事件、ajax等异步函数的测试。
start()开始执行这个测试模块。
stop()暂停执行这个测试模块,直到start()函数重新开启。如:

module("异步测试模块");
asyncTest("事件测试", function() {
    expect(1);
    document.body.onclick = function(event){
        start();
        equals(event,"[object MouseEvent]","event值");
    }
});

转载于:https://www.cnblogs.com/HeroBeast/archive/2010/12/26/1917127.html

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值