A Node.js tool that runs Mocha tests in browsers using Browserify, supporting Headless Chrome and WebDriver for cross-browser testing.
Mochify.js is a Node.js-based testing tool that bundles JavaScript test files using Browserify and executes them in browser environments, including Headless Chrome and real browsers via WebDriver. It solves the problem of running Mocha tests in actual browser contexts to catch browser-specific issues and ensure client-side code reliability.
JavaScript developers and teams writing frontend or isomorphic code who need to run Mocha tests in real browsers for accurate testing, especially those using Browserify for bundling.
Developers choose Mochify.js because it seamlessly integrates Browserify and Mocha with browser execution, offering features like watch mode, debugging, and cross-browser testing via WebDriver—all without requiring complex setup or leaving the Node.js ecosystem.
☕️ TDD with Browserify, Mocha, Headless Chrome and WebDriver
Open-Awesome is built by the community, for the community. Submit a project, suggest an awesome list, or help improve the catalog on GitHub.
Runs tests in Headless Chrome and real browsers via WebDriver, catching browser-specific bugs and ensuring client-side code works as expected, as highlighted in the README's support for Selenium and services like SauceLabs.
Offers watch mode with `--watch` for automatic test re-runs and debugging with `--debug` in Chrome DevTools, streamlining testing during development cycles.
Seamlessly integrates with WebDriver, SauceLabs, BrowserStack, and Appium for comprehensive cross-browser and mobile testing, documented with setup guides in the README.
Integrates with nyc and coverify to generate coverage reports, enabling developers to maintain test quality with tools like babelify and babel-plugin-istanbul.
Requires manual configuration of Selenium server, browser drivers, and `.min-wd` files, which can be time-consuming and error-prone compared to simpler testing tools.
Needs workarounds like environment variable settings for Puppeteer on M1 Macs, as admitted in the README, adding extra steps for users on modern hardware.
Tightly coupled with Browserify for bundling, making it unsuitable for projects using Webpack or other bundlers without significant changes or alternative setups.
Relies on Puppeteer for Headless Chrome, which can cause issues like download failures or performance overhead, and requires Chromium/Chrome availability.