使用 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 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測試結果視窗
相關文章
- 使用JUnit進行單元測試
- 使用jest進行單元測試
- JavaScript 測試教程-part 1:用 Jest 進行單元測試JavaScript
- 使用Jest進行React單元測試React
- 如何使用MOQ進行單元測試
- 使用 Spring Boot 進行單元測試Spring Boot
- Python中的單元測試框架:使用unittest進行有效測試Python框架
- 使用Angular CLI進行單元測試和E2E測試Angular
- JavaScript單元測試框架JavaScript框架
- Jest & enzyme 進行react單元測試React
- [譯]對 React 元件進行單元測試React元件
- 在C#中進行單元測試C#
- JavaScript單元測試及原理JavaScript
- 使用SAP CRM mock框架進行單元測試的設計Mock框架
- 使用FakeAsync對Angular非同步程式碼進行單元測試Angular非同步
- 使用karma和jasmine配合phantom瀏覽器進行單元測試ASM瀏覽器
- FastAPI(43)- 基於 pytest + requests 進行單元測試ASTAPI
- 使用 PyHamcrest 執行健壯的單元測試REST
- 使用Github Copilot生成單元測試並執行Github
- go 單元測試進階篇Go
- 如果利用 python 對 java 程式碼進行 單元測試?PythonJava
- Springboot整合JUnit5優雅進行單元測試Spring Boot
- 如何對Spring MVC中的Controller進行單元測試SpringMVCController
- 測試 之Java單元測試、Android單元測試JavaAndroid
- 單元測試工具 TestNG 使用
- 使用python對oracle進行簡單效能測試PythonOracle
- 使用CountDownLatch或迴圈屏障對多執行緒程式碼進行單元測試 -XebiaCountDownLatch執行緒
- 單元測試:單元測試中的mockMock
- 前端進階課程之單元測試前端
- Golang 學習——基於 Gin 框架進行 httptest 單元測試Golang框架HTTP
- 測試開發之單元測試-禪道結合ZTF驅動單元測試執行
- Cmocka 單元測試配置與使用Mock
- 如何執行指定的單元測試
- 對圖資料庫(Nebula)進行單元測試時的坑資料庫
- 單元測試效率優化:為什麼要對程式進行測試?測試有什麼好處?優化
- 使用PostMan進行API測試PostmanAPI
- 使用 HTTPie 進行 API 測試HTTPAPI
- 使用Loadrunner進行效能測試
- PHP單元測試框架PHPUnit的使用PHP框架