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 |
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.