awesome-repositories.com
Blog
MCP
awesome-repositories.com

Discover the best open-source repositories with AI-powered search.

ExploreCurated searchesOpen-source alternativesSelf-hosted softwareBlogSitemap
ProjectMCP serverAboutHow we rankPress
LegalPrivacyTerms
© 2026 Bringes Technology SRL·VAT RO45896025·hello@awesome-repositories.com

JavaScript Snapshot Testing Frameworks

Ranking updated Jun 30, 2026

For a unit testing framework for JavaScript with snapshots, the strongest matches are jestjs/jest (Jest is a full-featured JavaScript testing framework that natively), facebook/jest (Jest is a full-featured JavaScript unit testing framework that) and vitest-dev/vitest (Vitest is a high-performance JavaScript and TypeScript testing framework). avajs/ava and sindresorhus/ava round out the shortlist. Each is ranked by relevance to your query, popularity and recent activity.

These JavaScript testing libraries provide snapshot capabilities to verify UI components and data structures automatically.

JavaScript Snapshot Testing Frameworks

Find the best repos with AI.We'll search the best matching repositories with AI.
  • jestjs/jestjestjs avatar

    jestjs/jest

    45,448View on GitHub↗

    Jest is a JavaScript testing framework designed for writing and running automated test suites to verify the correctness of JavaScript and TypeScript code. It functions as a comprehensive toolset that integrates a test runner, a mocking and spying library, a snapshot testing tool, and a code coverage tool. The framework distinguishes itself through snapshot testing, which records the serialized state of data structures to detect regressions in future executions. It also includes a mocking and spying library for simulating external dependencies and tracking function calls to isolate code during

    Jest is a full-featured JavaScript testing framework that natively includes snapshot testing, a test runner, built-in assertions, mocking, code coverage, and a watch mode, making it a comprehensive solution for this search.

    TypeScriptCode Coverage ToolsReactive Watch ModesSnapshot Testing
    View on GitHub↗45,448
  • facebook/jestfacebook avatar

    facebook/jest

    45,448View on GitHub↗

    Jest is a JavaScript testing framework that integrates a test runner, an assertion library, and a snapshot testing tool. Its primary purpose is to provide a comprehensive environment for writing and running automated JavaScript tests to verify software correctness. The framework is distinguished by its snapshot testing capabilities, which capture the state of large objects or rendered components to detect regressions over time. It also features a reactive watch mode that monitors file changes and automatically executes only the tests related to modified code. The project covers a broad range

    Jest is a full-featured JavaScript unit testing framework that natively includes snapshot testing, a test runner, assertion library, mocking, code coverage, and watch mode, making it a perfect match for this search.

    TypeScriptAssertion LibrariesReactive Watch ModesSnapshot Testing
    View on GitHub↗45,448
  • vitest-dev/vitestvitest-dev avatar

    vitest-dev/vitest

    15,970View on GitHub↗

    Vitest is a high-performance testing framework designed for JavaScript and TypeScript applications. It provides an integrated environment that supports unit, integration, and browser-based testing, allowing developers to execute test suites natively without requiring separate build steps or complex configuration. The project distinguishes itself through a highly optimized execution model that leverages worker-thread isolation and on-demand module transformation to provide rapid feedback. It includes a comprehensive suite of mocking and spying utilities that allow for the interception of depen

    Vitest is a high-performance JavaScript and TypeScript testing framework with a built-in test runner, assertion library, mocking utilities, code coverage, and watch mode, and it natively supports snapshot testing, fully matching the requirements.

    TypeScriptAssertion LibrariesCode Coverage ToolsSnapshot Testing
    View on GitHub↗15,970
  • avajs/avaavajs avatar

    avajs/ava

    20,849View on GitHub↗

    Ava is a test runner for JavaScript and TypeScript designed to execute test suites with a focus on concurrency and isolation. It serves as a concurrent test executor that runs test files in parallel across multiple processes to reduce total runtime and prevent state leakage between suites. The project features a built-in snapshot testing framework that saves large data structures to disk and compares subsequent executions to detect regressions via diffs. It is also compatible with the Test Anything Protocol, allowing it to export results for use with external reporting tools. Its capability

    AVA is a JavaScript test runner with built-in snapshot testing, directly matching the request for a unit testing framework with that capability, though it may require external tools for features like mocking and code coverage.

    JavaScriptAssertion LibrariesCode Coverage AnalysisSnapshot Testing
    View on GitHub↗20,849
  • sindresorhus/avasindresorhus avatar

    sindresorhus/ava

    20,849View on GitHub↗

    Ava is a concurrent test runner for Node.js that executes test files in parallel using worker thread isolation to prevent global state leakage. It functions as a TAP-compliant tool, exporting results via the Test Anything Protocol for integration with external reporting systems. The framework distinguishes itself through a focus on execution speed and clarity, utilizing worker threads to run multiple test files simultaneously across CPU cores. It includes stack trace simplification to filter out internal framework noise and a value comparison utility that provides syntax-highlighted diffs for

    Ava is a concurrent test runner for Node.js, which fits the JavaScript unit testing framework category, but it does not include built-in snapshot testing, so it lacks that specific requirement while still being the right kind of tool.

    JavaScriptTest Execution RunnersWatch Mode Runners
    View on GitHub↗20,849
  • jasmine/jasminejasmine avatar

    jasmine/jasmine

    15,824View on GitHub↗

    Jasmine is a JavaScript testing framework and test runner designed for behavior-driven development. It provides a comprehensive toolset for writing and executing descriptive test suites that verify code behavior in both web browsers and Node.js environments. The framework is distinguished by its integrated mocking library, which allows for dependency isolation through spies and stubs, as well as the ability to simulate time and timing functions to test asynchronous logic synchronously. It also includes a mechanism to enforce test uniqueness, preventing duplicate names for tests and suites. I

    Jasmine is a JavaScript testing framework and test runner with integrated mocking and assertion support, but it does not include built-in snapshot testing, so while it fits the category of testing framework it lacks that specific capability.

    JavaScriptTest Execution Runners
    View on GitHub↗15,824
  • raathigesh/majesticRaathigesh avatar

    Raathigesh/majestic

    7,457View on GitHub↗

    Majestic is a graphical user interface for executing and managing Jest test suites. It serves as a test runner GUI that allows for the execution of all tests or specific files, providing a visual environment for monitoring results in real time. The tool includes a code coverage visualizer to identify untested parts of a codebase by reviewing detailed coverage reports. It also provides a debugging interface for troubleshooting test failures through direct access to console output and error details, and a visual interface for managing and aligning test snapshots. Additional capabilities cover

    Majestic is a visual GUI for running Jest tests, not a JavaScript unit testing framework itself; while it includes snapshot testing through Jest, the search is for a standalone framework with built-in snapshot testing, not a complementary tool.

    TypeScriptCode Coverage AnalysisSnapshot TestingTest Runner GUIs
    View on GitHub↗7,457
  • gotwarlost/istanbulgotwarlost avatar

    gotwarlost/istanbul

    8,662View on GitHub↗

    Istanbul is a JavaScript code coverage tool and instrumentation engine that measures the execution of statements, lines, functions, and branches. It functions as a test coverage analysis tool capable of monitoring code across unit, functional, and browser tests to identify untested areas of a codebase. The project distinguishes itself through a transparent instrumentation engine that uses module loader hooks to inject tracking code without requiring manual source modifications. It supports distributed test reporting by aggregating fragmented coverage data from multiple concurrent processes in

    Istanbul is a JavaScript code coverage tool, not a unit testing framework—it provides instrumentation and coverage metrics but lacks a test runner, assertion library, mocking, snapshot testing, and watch mode, so it is a supporting component for testing rather than a framework itself.

    JavaScriptCode Coverage AnalysisCode Coverage ToolsCode Coverage Reportings
    View on GitHub↗8,662
  • karma-runner/karmakarma-runner avatar

    karma-runner/karma

    11,958View on GitHub↗

    Karma is a JavaScript test runner designed for executing test suites across multiple real web browsers to ensure cross-browser compatibility. It functions as a browser-based execution system that launches browsers, captures console output, and provides a command line interface for running automated tests within continuous integration pipelines. The project utilizes a plugin architecture that allows for the integration of third-party launchers, reporters, and preprocessors. It employs an adapter-based framework to execute tests from various assertion libraries through a unified runner interfac

    Karma is a test runner that launches browsers and executes test suites, but it is not a full JavaScript unit testing framework — it lacks its own assertion library, mocking, snapshot testing, and watch mode, requiring you to add an external framework like Jasmine or Mocha to get those features.

    JavaScriptReactive Watch ModesTest Execution RunnersTest Runners
    View on GitHub↗11,958
  • mochajs/mochamochajs avatar

    mochajs/mocha

    22,967View on GitHub↗

    Mocha is a JavaScript test runner and framework designed to execute automated test suites across multiple runtimes, including Node.js and web browser environments. It functions as a pluggable testing tool for organizing and validating unit, integration, and functional tests. The project distinguishes itself through a plugin-based extension interface that allows for custom functionality and reporting. It supports a multi-runtime approach, enabling the same test suite to run in different JavaScript environments, and includes a watch mode that monitors the filesystem to trigger automatic test re

    Mocha is a flexible JavaScript test runner, but it lacks built-in snapshot testing; you would need to add a separate plugin to get that capability, so it does not fully match your request for a framework with integrated snapshots.

    JavaScriptReactive Watch ModesTest Execution RunnersCLI Test Runners
    View on GitHub↗22,967
  • cypress-io/cypresscypress-io avatar

    cypress-io/cypress

    50,113View on GitHub↗

    Cypress is a browser-based testing framework designed for writing and running automated tests directly inside the browser. It serves as an end-to-end testing framework, a frontend component testing tool, and a web application test runner. The project also functions as a headless browser automation tool and a network traffic interceptor. The system differentiates itself by executing test code within the same browser process as the application, allowing for direct access to the DOM. It includes a network traffic interception system to stub and manipulate browser requests, as well as a graphical

    Cypress is an end-to-end and component testing framework that runs inside the browser, not a unit testing framework for individual JavaScript modules — while it includes snapshot testing, it serves a different testing layer than what you asked for.

    TypeScriptSnapshot TestingCLI Test RunnersTest Suite Runners
    View on GitHub↗50,113
  • facebookincubator/create-react-appfacebookincubator avatar

    facebookincubator/create-react-app

    103,327View on GitHub↗

    Create React App is a command-line tool that generates a pre-configured project structure and build pipeline for React web applications. It serves as a frontend project scaffold, providing a set of predefined directory structures and dependencies to start development without manual compiler or bundler setup. The tool manages a complete frontend build pipeline that compiles, minifies, and optimizes code into production-ready bundles with hashed filenames. It also includes a configuration tool for progressive web app standards, implementing web app manifests and service workers for offline func

    Create React App is a project scaffolding tool that generates a pre-configured React project including a test runner (Jest), but it is not itself a JavaScript unit testing framework with built-in snapshot testing—it merely sets up a separate framework rather than being one.

    JavaScriptTest Execution RunnersCLI Test Runners
    View on GitHub↗103,327
Compare the top 10 at a glance
RepositoryStarsLanguageLicenseLast push
jestjs/jest45.4KTypeScriptMITJun 16, 2026
facebook/jest45.4KTypeScriptMITJun 16, 2026
vitest-dev/vitest16KTypeScriptmitFeb 19, 2026
avajs/ava20.8KJavaScriptMITMay 17, 2026
sindresorhus/ava20.8KJavaScriptMITMay 17, 2026
jasmine/jasmine15.8KJavaScriptMITJun 6, 2026
raathigesh/majestic7.5KTypeScriptMITMay 3, 2022
gotwarlost/istanbul8.7KJavaScriptNOASSERTIONDec 8, 2024
karma-runner/karma12KJavaScriptMITJun 10, 2026
mochajs/mocha23KJavaScriptMITJun 22, 2026

Related searches

  • a visual regression testing tool for UI components
  • a tool for AI-generated unit tests
  • a testing framework for Dart applications
  • a testing assertions and mocking library for Go
  • a testing framework for Swift applications
  • a unit testing framework for C++
  • a unit testing framework for C#
  • a testing framework for Kotlin projects