- QUnit 教程
- QUnit - 首頁
- QUnit - 概述
- QUnit - 環境設定
- QUnit - 基本用法
- QUnit - API
- QUnit - 斷言的使用
- QUnit - 執行過程
- QUnit - 跳過測試
- QUnit - 只執行指定測試
- QUnit - 非同步呼叫
- QUnit - 期望斷言
- QUnit - 回撥函式
- QUnit - 巢狀模組
- QUnit 有用資源
- QUnit - 快速指南
- QUnit - 有用資源
- QUnit - 討論
QUnit - 斷言的使用
所有斷言都在 Assert 類別中。
此類別提供了一組用於編寫測試的有用斷言方法。只有失敗的斷言才會被記錄。
| 序號 | 方法及說明 |
|---|---|
| 1 | async() 指示 QUnit 等待非同步操作。 |
| 2 | deepEqual() 深度遞迴比較,適用於基本型別、陣列、物件、正則表示式、日期和函式。 |
| 3 | equal() 非嚴格比較,大致相當於 JUnit 的 assertEquals。 |
| 4 | expect() 指定在一個測試中預期執行多少個斷言。 |
| 5 | notDeepEqual() 反向深度遞迴比較,適用於基本型別、陣列、物件、正則表示式、日期和函式。 |
| 6 | notEqual() 非嚴格比較,檢查不等式。 |
| 7 | notOk() 布林檢查,是 ok() 和 CommonJS 的 assert.ok() 的反義,相當於 JUnit 的 assertFalse()。如果第一個引數為假則透過。 |
| 8 | notPropEqual() 嚴格比較物件的自身屬性,檢查不等式。 |
| 9 | notStrictEqual() 嚴格比較,檢查不等式。 |
| 10 | ok() 布林檢查,相當於 CommonJS 的 assert.ok() 和 JUnit 的 assertTrue()。如果第一個引數為真則透過。 |
| 11 | propEqual() 嚴格比較物件的自身屬性的型別和值。 |
| 12 | push() 報告自定義斷言的結果。 |
| 13 | strictEqual() 嚴格比較型別和值。 |
| 14 | throws() 測試回撥函式是否丟擲異常,並可以選擇性地比較丟擲的錯誤。 |
讓我們嘗試在一個例子中涵蓋上面提到的大多數方法。
<html>
<head>
<meta charset = "utf-8">
<title>QUnit basic example</title>
<link rel = "stylesheet" href = "https://code.jquery.com/qunit/qunit-1.22.0.css">
<script src = "https://code.jquery.com/qunit/qunit-1.22.0.js"></script>
</head>
<body>
<div id = "qunit"></div>
<div id = "qunit-fixture"></div>
<script>
QUnit.test( "TestSuite", function( assert ) {
//test data
var str1 = "abc";
var str2 = "abc";
var str3 = null;
var val1 = 5;
var val2 = 6;
var expectedArray = ["one", "two", "three"];
var resultArray = ["one", "two", "three"];
//Check that two objects are equal
assert.equal(str1, str2, "Strings passed are equal.");
//Check that two objects are not equal
assert.notEqual(str1,str3, "Strings passed are not equal.");
//Check that a condition is true
assert.ok(val1 < val2, val1 + " is less than " + val2);
//Check that a condition is false
assert.notOk(val1 > val2, val2 + " is not less than " + val1);
//Check whether two arrays are equal to each other.
assert.deepEqual(expectedArray, resultArray ,"Arrays passed are equal.");
//Check whether two arrays are equal to each other.
assert.notDeepEqual(expectedArray, ["one", "two"],
"Arrays passed are not equal.");
});
</script>
</body>
</html>
驗證輸出
您應該看到以下結果:
廣告