How does it compare?

Intern AVA BusterJS Jasmine Jest Mocha Nightwatch QUnit Wdio
Includes unit testing
Includes functional testing
Comes with TypeScript typings
Includes code coverage analysis
Runs tests in parallel for improved performance
Uses true1 browser events
Supports AMD natively
Runs stand-alone2 in browsers
Tests Node.js code
Supports multi-level source maps
Can be used with any3 assertion library
Includes multiple test interfaces
Lets you write your own custom test interfaces
Lets you write your own custom reporters
Uses Promises for asynchronous testing
Uses standard WebDriver APIs
Automatically handles Selenium server bugs
Tests native mobile apps
Built-in support for multiple CI services
Built-in support for multiple cloud testing services
Comes with Grunt tasks
Gets your coffee and makes photocopies
Supported out-of-the-box
Supported via plugin/extension
Supported via third party library

1: True events are not generated by JavaScript within the sandbox, so are able to accurately emulate how a user actually interacts with the application. Synthetic events generated by other test frameworks are limited by browser security restrictions.

2: Stand-alone means that unit tests can be executed in a browser by navigating to a URL without needing any special HTTP server or proxy for support.

3: If it throws an error on failure, it works with Intern.