视频1 视频21 视频41 视频61 视频文章1 视频文章21 视频文章41 视频文章61 推荐1 推荐3 推荐5 推荐7 推荐9 推荐11 推荐13 推荐15 推荐17 推荐19 推荐21 推荐23 推荐25 推荐27 推荐29 推荐31 推荐33 推荐35 推荐37 推荐39 推荐41 推荐43 推荐45 推荐47 推荐49 关键词1 关键词101 关键词201 关键词301 关键词401 关键词501 关键词601 关键词701 关键词801 关键词901 关键词1001 关键词1101 关键词1201 关键词1301 关键词1401 关键词1501 关键词1601 关键词1701 关键词1801 关键词1901 视频扩展1 视频扩展6 视频扩展11 视频扩展16 文章1 文章201 文章401 文章601 文章801 文章1001 资讯1 资讯501 资讯1001 资讯1501 标签1 标签501 标签1001 关键词1 关键词501 关键词1001 关键词1501 专题2001
使用QUnit进行JavaScript单元测试的示例代码详情
2020-11-27 20:24:17 责编:小采
文档

使用 QUnit 进行 JavaScript 单元测试的示例代码详情

简介

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

运行环境

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

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

  • 加入QUnit到单元测试

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

    <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):

    // 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 pision method to the Calculation class.
    Calculation.prototype.pision = function (a, b) {
     return a / b;
    };

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

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

    // 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 pision.
    QUnit.test("pision Test", function (assert) {
     assert.ok(c.pision(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的p标记。

    <link rel="stylesheet" href="https://code.jquery.com/qunit/qunit-1.22.0.css">
    <script src="~/Scripts/Calculations.js"></script>
    <p id="qunit"></p>
    <p id="qunit-fixture"></p>
    <script src="//code.jquery.com/qunit/qunit-1.22.0.js"></script>
    <script src="~/Scripts/UnitTest.js"></script>

    QUnit测试结果窗口

    下载本文
    显示全文
    专题