QUnit - 使用断言

所有断言都位于断言类别中。

此类别提供了一组可用于编写测试的断言方法。仅记录失败的断言。

Sr.No. 方法和描述
1

async()

指示 QUnit 等待异步操作。

2

deepEqual()

深度递归比较,适用于原始类型、数组、对象、正则表达式、日期和函数。

3

equal()

非严格比较,大致相当于 JUnit 的 assertEquals。

4

expect()

指定测试中预期运行的断言数量。

5

notDeepEqual()

反向深度递归比较,适用于原始类型、数组、对象、正则表达式、日期和函数。

6

notEqual()

非严格比较,检查不相等。

7

notOk()

布尔检查,反向ok() 和 CommonJS 的 assert.ok(),相当于 JUnit 的 assertFalse()。如果第一个参数为 false,则通过。

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"];

            //检查两个对象是否相等
            assert.equal(str1, str2, "Strings passed are equal.");
			
            //检查两个对象不相等
            assert.notEqual(str1,str3, "Strings passed are not equal.");

            //检查条件是否为真
            assert.ok(val1 < val2, val1 + " is less than " + val2);
			
            //检查条件是否为假
            assert.notOk(val1 > val2, val2 + " is not less than " + val1);

            //检查两个数组是否相等。
            assert.deepEqual(expectedArray, resultArray ,"Arrays passed are equal.");
			
            //检查两个数组是否相等。
            assert.notDeepEqual(expectedArray, ["one", "two"],
               "Arrays passed are not equal.");			
         });
      </script>
   </body>
</html>

验证输出

您应该看到以下结果 −