设为首页收藏本站

LUPA开源社区

 找回密码
 注册
文章 帖子 博客
LUPA开源社区 首页 业界资讯 技术文摘 查看内容

使用QUnit进行JavaScript单元测试

2016-3-14 20:59| 发布者: joejoe0332| 查看: 1323| 评论: 0|原作者: 苍之涛, leoxu|来自: oschina

摘要: QUnit是一个强大的JavaScript单元测试框架。他可用于jQuery,jQuery UI和jQuery Mobile项目,以及任何使用JavaScript代码编写的项目的测试。

简介

QUnit是一个强大的JavaScript单元测试框架。他可用于jQuery,jQuery UI和jQuery Mobile项目,以及任何使用JavaScript代码编写的项目的测试。


运行环境

  • 任何Html和JavaScript编辑器(Visual Studio 2013)

  • 从QUnit官方下载reference js和css文件

加入QUnit到单元测试

添加QUnit.js和QUnit.css到你要测试的HTML页面中。

1
2
3
<script src="//code.jquery.com/qunit/qunit-1.22.0.js"></script>
<link rel="stylesheet" 
href="https://code.jquery.com/qunit/qunit-1.22.0.css">

创建需要进行单元测试的JavaScript类

将要进行单元测试的代码放到一个单独的js文件中(Calculations.js):

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
// Create Calculation class.
var Calculation = function () { };
 
// Add Addition to method to the Calculation class.
Calculation.prototype.Add = function (a, b) {
    return a + b;
};
 
// Add Subtraction method to the Calculation class.
Calculation.prototype.Substraction = function (a, b) {
    return a - b;
};
 
// Add Multiplication method to the Calculation class.
Calculation.prototype.Multiplication = function (a, b) {
    return a * b;
};
 
// Add Division method to the Calculation class.
Calculation.prototype.Division = function (a, b) {
    return a / b;
};

为上面的方法创建一个单元测试用例

下面的代码就是上面JavaScript方法的单元测试用例,我们同样将它放到单独的一个js文件中(UnitTest.js):

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
// Instantiate Calculation class.
var c = new Calculation();
// Unit test for addition.
QUnit.test("Addition Test"function (assert) {   
    assert.ok(c.Add(2, 3) == "5""Passed!");
});
 
// Unit test for subtraction.
QUnit.test("Substraction Test"function (assert) {
    assert.ok(c.Substraction(3, 2) == "1""Passed!");
});
 
// Unit test for division.
QUnit.test("Division Test"function (assert) {
    assert.ok(c.Division(5, 5) == "1""Passed!");
});
 
// Unit test for multiplication.
QUnit.test("Multiplication Test"function (assert) {
    assert.ok(c.Multiplication(5, 5) == "25""Passed!");
});

在HTML代码中引用所有的js和css文件

在HTML代码中分别创建一个id为qunit、qunit-fixture的div标记。

1
2
3
4
5
6
<link rel="stylesheet" href="https://code.jquery.com/qunit/qunit-1.22.0.css">
<script src="~/Scripts/Calculations.js"></script>
<div id="qunit"></div>
<div id="qunit-fixture"></div>
<script src="//code.jquery.com/qunit/qunit-1.22.0.js"></script>
<script src="~/Scripts/UnitTest.js"></script>


QUnit测试结果窗口


酷毙

雷人

鲜花

鸡蛋

漂亮
  • 快毕业了,没工作经验,
    找份工作好难啊?
    赶紧去人才芯片公司磨练吧!!

最新评论

关于LUPA|人才芯片工程|人才招聘|LUPA认证|LUPA教育|LUPA开源社区 ( 浙B2-20090187 浙公网安备 33010602006705号   

返回顶部