Mocha (мо́ка) — расширяемый open-source фреймворк для тестирования программ на Javascript в Node.js и браузере. Фреймворк поддерживает TDD (Test-driven development) и BDD (Behavior-driven development), позволяя использать такие assertion-библиотеки, как chai, should.js и expect.js.
Mocha имеет поддержку тестовых шпионов (spy), стабов (stub) и моков (mock) при помощи специальных библиотек, таких как, например, Sinon.
Mocha также имеет поддержку тестирования синхронного и асинхронного кода, в том числе, тестирование промисов.