All the assertions are in the Assert Category.
This category provides a set of assertion methods useful for writing tests. Only failed assertions are recorded.
Sr.No. | Methods & Description |
---|---|
1 | async() Instruct QUnit to wait for an asynchronous operation. |
2 | deepEqual() A deep recursive comparison, working on primitive types, arrays, objects, regular expressions, dates, and functions. |
3 | equal() A non-strict comparison, roughly equivalent to JUnit's assertEquals. |
4 | expect() Specify how many assertions are expected to run within a test. |
5 | notDeepEqual() An inverted deep recursive comparison, working on primitive types, arrays, objects, regular expressions, dates, and functions. |
6 | notEqual() A non-strict comparison, checking for inequality. |
7 | notOk() A boolean check, inverse of ok() and CommonJS's assert.ok(), and equivalent to JUnit's assertFalse(). Passes if the first argument is false. |
8 | notPropEqual() A strict comparison of an object's own properties, checking for inequality. |
9 | notStrictEqual() A strict comparison, checking for inequality. |
10 | ok() A boolean check, equivalent to CommonJS's assert.ok() and JUnit's assertTrue(). Passes if the first argument is true. |
11 | propEqual() A strict type and value comparison of an object's own properties. |
12 | push() Report the result of a custom assertion. |
13 | strictEqual() A strict type and value comparison. |
14 | throws() Test if a callback throws an exception, and optionally compare the thrown error. |
Let's try to cover most of the above mentioned methods in an example.
<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>
You should see the following result −