使用 QUnit 進行 JavaScript 單元測試

oschina發表於2016-03-07

簡介

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 Division method to the Calculation class.
Calculation.prototype.Division = 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 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標記。

<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測試結果視窗

使用 QUnit 進行 JavaScript 單元測試

相關文章