Mocha JavaScript Test Framework
mochajs.org
2
Leaving SiteNav
External Link Disclaimer
You are about to visit mochajs.org. This website is not operated by us. We are not responsible for its content or privacy practices.
About this website
Mocha is a JavaScript test framework that runs on Node.js and in the browser, providing the structure for organizing and executing test suites while remaining unopinionated about assertion libraries, mocking tools, and reporting formats. Tests are defined using BDD-style functions like describe and it, or TDD-style suite and test, with support for nested suites, before and after hooks for setup and teardown, and context-specific test grouping. Asynchronous testing is handled through callbacks, promises, or async-await syntax, with automatic timeout detection and configurable per-test timeout values. Tests execute serially by default to ensure deterministic results and accurate reporting, though parallel execution is available through the parallel mode that distributes test files across worker processes. The reporter system includes over a dozen built-in formats: spec for hierarchical terminal output, dot for compact progress indication, JSON for CI integration, HTML for browser-based results, and tap for interoperability with test harnesses. Custom reporters can be written as JavaScript modules that subscribe to test events. The framework supports test retries for flaky test mitigation, pending tests that are skipped without failing the suite, exclusive tests using only and skip modifiers for focused development, and file watching with automatic re-execution through the watch mode. Configuration can be provided through a mocharc file in YAML, JSON, or JavaScript format, or through command-line flags. As an OpenJS Foundation project, the framework has been adopted across the JavaScript ecosystem and is frequently paired with assertion libraries like Chai and assertion frameworks like Jest assertions, though it imposes no dependency on any specific assertion implementation.
Statistics
2
Views
0
Clicks
0
Like
0
Dislike