Difference between Karma and Mocha

Setafire picture Setafire · Apr 24, 2014 · Viewed 11.9k times · Source

I am new to the Javascript world, being majorly into OOP. I have tried to look up online for a clear cut distinction between Karma and Mocha but in vain. I know Karma is a Test Runner and Mocha is a unit testing Framework, but Mocha also has its own driver and can be used for running tests in the browser. That said, I don't understand what Karma brings to the plate, and why are people using these in conjunction.

Answer

MarcoL picture MarcoL · Apr 25, 2014

Imagine the following scenario:

  • Write your own test suites with Mocha

  • Use Karma to run programmatically your Mocha tests cross-browser and cross-devices

  • More, integrate Karma with your Jasmine existing environment

  • Even more, integrate Karma in your Continuous Integration cycle

  • Use a million Karma plugin to check coverage, complexity, framework stuff, etc...

The power of Karma is that it can spawn real browsers - such Chrome or Firefox - to effectively test your code with them.

With Mocha you can run it in a NodeJS environment or in a webpage.