QUnit简单教程 - 面向对象网,web开发,脚本,学习,对象 - 面向对象技术开发

面向对象技术开发

会员投稿 投稿指南 站长资讯通告:
您的位置: 首页 > Web开发 > 脚本语言 > 正文

QUnit简单教程

来源: www.bianceng.cn 阅读:

什么是QUnit?

QUnit是一个非常简单而且强大的单元测试框架,简单到稍微懂点javascript的人,5分钟不到就会了,以下就是这个框架的用法:

首先,既然是一个框架,肯定有框架的共有特征(框架的css->qunit.css,框架的js函数库->qunit.js,框架的HTML 显示页面->framework.html,我们按照规范放置在应该放置的地方,如下图所示:)

\

既然是javascript测试框架,那么肯定就有两部分组成,一部分是被测试的javascript函数,另一部分是测试语句的javascript函数,我们分别建2个文件夹(needTestJS和tcJS来放置)。

Part 1: 被测试的javascript函数:

我们这里写了两个函数,按照QUnit的建议,我们为其定义一个测试模块(模块化嘛)一个用于测试参数是否为数字,一个用于测试传入的数是否为偶数:

//定义测试模块 
module ("测试示例"); 
//定义一个简单的函数,判断参数是不是数字 
function  isNumber (para){ 
    if (typeof para=="number") { 
        return true; 
    }else{ 
        return false; 
    } 
} 
     
//这个函数用于判断传入的数是不是偶数 
function isEven(val) { 
    return val % 2 === 0; 
}

Part 2:测试用例:

测试用例也是javascript函数,我们必须用测试断言来构造这些测试用例,有很多种测试断言,最常用的几种有:ok() ,equals(),same(),具体他们用在什么场合见我的代码注释部分:

//开始单元测试 
     
//test的第一个参数是展现在页面上的这个测试集合的名称,可以指定任何有意义的名字 
test('isNumber()',function(){ 
    //列举各种可能的情况,保证每种条件应该符合的逻辑 
         
    //ok 是QUnit中最常见的用于判断的函数,不过只能判断true和false 
    //正确,则绿色的条子,错误就会爆红 
    ok (isNumber(2), "2是一个数字"); 
    ok(!isNumber("2"),"字符串2不是一个数字"); 
    ok(isNumber(NaN),"NaN是一个数字"); 
         
     
         
} 
); 
     
     
     
test("isEven()" ,function(){ 
         
     
    //equals(actual,expected,[message]) 用于相当的判断函数 
    equals(true ,isEven(2),'2是偶数'); 
    equals(false,isEven(3),'3不是偶数'); 
} 
); 
     
     
test("恒等断言" ,function(){ 
         
    //same()是恒等断言,可以用来判定2个对象是否相等(可以不相同) 
    same( {}, {}, 'passes, objects have the same content'); 
    same( {a: 1}, {a: 50} , 'passes'); 
    same( [], [], 'passes, arrays have the same content'); 
    same( [1], [1], 'passes'); 
} 
);

查看本栏目更多精彩内容:http://www.bianceng.cn/webkf/script/

Tags:
相关文章列表: