Need advice about which tool to choose?Ask the StackShare community!
Karma vs Mocha: What are the differences?
Developers describe Karma as "Spectacular Test Runner for JavaScript". Karma is not a testing framework, nor an assertion library. Karma just launches a HTTP server, and generates the test runner HTML file you probably already know from your favourite testing framework. So for testing purposes you can use pretty much anything you like. On the other hand, Mocha is detailed as "Simple, flexible, fun javascript test framework for node.js & the browser". Mocha is a feature-rich JavaScript test framework running on node.js and the browser, making asynchronous testing simple and fun. Mocha tests run serially, allowing for flexible and accurate reporting, while mapping uncaught exceptions to the correct test cases.
Karma belongs to "Browser Testing" category of the tech stack, while Mocha can be primarily classified under "Javascript Testing Framework".
Some of the features offered by Karma are:
- Test on Real Devices
- Remote Control
- Testing Framework Agnostic
On the other hand, Mocha provides the following key features:
- browser support
- simple async support, including promises
- test coverage reporting
"Test Runner" is the top reason why over 56 developers like Karma, while over 130 developers mention "Open source" as the leading cause for choosing Mocha.
Karma and Mocha are both open source tools. It seems that Mocha with 18K GitHub stars and 2.43K forks on GitHub has more adoption than Karma with 10.7K GitHub stars and 1.61K GitHub forks.
According to the StackShare community, Mocha has a broader approval, being mentioned in 397 company stacks & 268 developers stacks; compared to Karma, which is listed in 119 company stacks and 57 developer stacks.
We use Mocha for our FDA verification testing. It's integrated into Meteor, our upstream web application framework. We like how battle tested it is, its' syntax, its' options of reporters, and countless other features. Most everybody can agree on mocha, and that gets us half-way through our FDA verification and validation (V&V) testing strategy.
Pros of Karma
- Test Runner61
- Open source35
- Continuous Integration27
- Great for running tests22
- Test on Real Devices18
- Backed by google11
- Easy Debugging5
- Remote Control2
Pros of Mocha
- Open source137
- Simple102
- Promise support81
- Flexible48
- Easy to add support for Generators29
- For browser and server testing12
- Curstom assertion libraries7
- Works with Karma5
- No other better tools3
- Simple setup1
- Works with saucelabs1
- Lots of tutorials and help online1
- Default reporter is nice, clean, and itemized1
- Works with BrowserStack1
- Simple integration testing1
Sign up to add or upvote prosMake informed product decisions
Cons of Karma
- Slow, because tests are run in a real browser1
- Requires the use of hacks to find tests dynamically1
Cons of Mocha
- Cannot test a promisified functions without assertion3
- No assertion count in results2
- Not as many reporter options as Jest1