QUnit
This article has multiple issues. Please help or discuss these issues on the talk page. (Learn how and when to remove these template messages)
|
Initial release | 8 May 2008 |
---|---|
Stable release | 2.17.2[1]
/ 20 September 2021 |
Repository | |
Written in | JavaScript |
Type | Test automation framework |
License | MIT |
Website | qunitjs |
QUnit is a JavaScript unit testing framework. Originally developed for testing jQuery, jQuery UI and jQuery Mobile, it is a generic framework for testing any JavaScript code. It supports client-side environments in web browsers, and server-side (e.g. Node.js).
QUnit's assertion methods follow the CommonJS unit testing specification, which itself was influenced to some degree by QUnit.
History[]
QUnit was originally developed by John Resig as part of jQuery. In 2008 it was extracted from the jQuery unit test source code to form its own project and became known as "QUnit". This allowed others to start using it for writing their unit tests. While the initial version of QUnit used jQuery for interaction with the DOM, a rewrite in 2009 made QUnit completely standalone.
Usage and examples[]
QUnit.module(string)
- Defines a module, a grouping of one or more tests.QUnit.test(string, function)
- Defines a test.
QUnit uses a set of assertion method to provide semantic meaning in unit tests:[2]
assert.ok(boolean, string)
- Asserts that the provided value casts to boolean true.assert.equal(value1, value2, message)
- Compares two values, using the double-equal operator.assert.deepEqual(value1, value2, message)
- Compares two values based on their content, not just their identity.assert.strictEqual(value1, value2, message)
- Strictly compares two values, using the triple-equal operator.
A basic example would be as follows:[3]
QUnit.test('a basic test example', function (assert) {
var obj = {};
assert.ok(true, 'Boolean true'); // passes
assert.ok(1, 'Number one'); // passes
assert.ok(false, 'Boolean false'); // fails
obj.start = 'Hello';
obj.end = 'Ciao';
assert.equal(obj.start, 'Hello', 'Opening greet'); // passes
assert.equal(obj.end, 'Goodbye', 'Closing greet'); // fails
});
See also[]
- List of unit testing frameworks
- Jasmine
References[]
- ^ "Release 2.17.2". 20 September 2021. Retrieved 27 October 2021.
- ^ "Assert methods". QUnit API Documentation. Retrieved 2018-02-14.
- ^ "Cookbook: Example test". QUnit API Documentation. Retrieved 2014-06-02.
External links[]
- JavaScript programming tools
- Unit testing frameworks
- Free software programmed in JavaScript