Unit test tools for JavaScript

There are many tools used all over the world for unit testing JavaScript. Some are listed below.

Karma

It is a unit testing tool built with Node.js

Protractor

It uses selenium web driver to run the tests.

It is an end-to-end testing tool.

Mocha.js

It is at test framework running on Node.js. Mocha tests are run serially which makes reporting flexible and accurate. Some features are listed below.

Browser support

Simple async support, including promises

Test-specific timeouts

Node debugger support

Ava

It has built-in support for ES2015. Ava is greatly beneficial for IO heavy tests. Files are run parallelly and separately which gives better performance. Gives an isolated environment for each test files. It is minimal and fast. Gives support for asynchronous function.

Buster.js

It is also at test runner built in Node.js. Buster.js is modular and flexible. It has its own assertion library, but if you want to add one of your own it has an option for that. Assertion library is decoupled so that you can use it with other test runners. It uses refute(…) instead of assert(!...) or expect(…).not…

QUnit

It is a JavaScript unit test suit which is powerful and easy to use. Used by JQuery, jQuery UI, and jQuery Mobile projects. It is capable of testing any generic JavaScript code.