An easy-to-use JavaScript Unit Testing framework.
JavaScript HTML CSS Shell
Permalink
Failed to load latest commit information.
.github Readme: Add ISSUE_TEMPLATE with issue guidelines to repository (#1104) Feb 27, 2017
bin CLI: Catch file load failures and report as failing tests Aug 7, 2017
build Build: Allow custom livereload port via livereload-port option Aug 8, 2017
docs Docs: Document assert.timeout Jul 7, 2017
reporter All: Upgraded to [email protected] via [email protected] and related plugins Aug 5, 2017
runner All: Upgraded to [email protected] via [email protected] and related plugins Aug 5, 2017
src All: Upgraded to [email protected] via [email protected] and related plugins Aug 5, 2017
test CLI: Catch file load failures and report as failing tests Aug 7, 2017
.editorconfig Build: Add .editorconfig for common editor settings Feb 23, 2014
.eslintrc.json All: Enable ESLint indent rule (#1143) Apr 9, 2017
.gitattributes Tests: HTML files should end with LF Dec 5, 2016
.gitignore Docs: Migrate api docs (#1135) Mar 31, 2017
.mailmap Authors: Fix a bad firstname, now matches CLA name Feb 12, 2014
.travis.yml Core: Updates for Node.js version 8 compatibility and testing Jun 2, 2017
AUTHORS.txt Build: Prepare 2.4.0 release, including authors and history update Jul 8, 2017
CONTRIBUTING.md Docs: Update README/CONTRIBUTING with more recent/relevant information May 29, 2017
Gruntfile.js Build: Allow custom livereload port via livereload-port option Aug 8, 2017
History.md Build: Prepare 2.4.0 release, including authors and history update Jul 8, 2017
LICENSE.txt All: Update License to JSFoundation Nov 1, 2016
README.md Docs: Update README/CONTRIBUTING with more recent/relevant information May 29, 2017
RELEASE.md Build: Update release documentation Jul 11, 2017
appveyor.yml Core: Updates for Node.js version 8 compatibility and testing Jun 2, 2017
bower.json Build: Use SPDX format in bower.json's license Sep 6, 2016
package.json All: Upgraded to [email protected] via [email protected] and related plugins Aug 5, 2017
rollup.config.js Build: Use ESLint Sep 16, 2016
yarn.lock All: Updated yarn.lock Aug 5, 2017

README.md

Travis Build Status AppVeyor Build Status Coverage Status Chat on Gitter FOSSA Status

QUnit - A JavaScript Unit Testing Framework.

QUnit is a powerful, easy-to-use, JavaScript unit testing framework. It's used by the jQuery project to test its code and plugins but is capable of testing any generic JavaScript code (and even capable of testing JavaScript code on the server-side).

QUnit is especially useful for regression testing: Whenever a bug is reported, write a test that asserts the existence of that particular bug. Then fix it and commit both. Every time you work on the code again, run the tests. If the bug comes up again - a regression - you'll spot it immediately and know how to fix it, because you know what code you just changed.

Having good unit test coverage makes safe refactoring easy and cheap. You can run the tests after each small refactoring step and always know what change broke something.

QUnit is similar to other unit testing frameworks like JUnit, but makes use of the features JavaScript provides and helps with testing code in the browser, such as built in support for asynchronicity and exception handling.

Support

If you need help using QUnit, visit the QUnit and Testing forum or chat with us on Gitter.

If you believe there is a bug with QUnit or would like to request a new feature, open an issue.

Development / Contributions

If you are interested in helping develop QUnit, check out our contributing guide.