awesome-repositories.com
Blog
awesome-repositories.com

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

ExploreCurated searchesOpen-source alternativesSelf-hosted softwareBlogSitemap
ProjectAboutHow we rankPressMCP server
LegalPrivacyTerms
© 2026 Bringes Technology SRL·VAT RO45896025·hello@awesome-repositories.com
·
Back to testing-library/react-testing-library

Open-source alternatives to React Testing Library

30 open-source projects similar to testing-library/react-testing-library, ranked by how many features they have in common. Compare stars, activity and what each one does to find the best React Testing Library alternative.

  • kentcdodds/react-testing-librarykentcdodds avatar

    kentcdodds/react-testing-library

    19,606View on GitHub↗

    This project is a component testing framework and utility designed for testing React components. It functions as a DOM testing library that allows for the verification of rendered output and component functionality without accessing internal implementation details. The library focuses on behavior driven development by simulating user interactions within a virtual DOM environment. It utilizes implementation-agnostic querying to locate elements via accessible roles and labels, ensuring that the interface is verified from the perspective of the user. The toolset covers frontend integration test

    JavaScript
    View on GitHub↗19,606
  • enzymejs/enzymeE

    enzymejs/enzyme

    19,831View on GitHub↗

    Enzyme is a testing utility for React components designed to verify their output and behavior in a test environment. It serves as a test harness for UI components, providing tools to render visual elements, manage state transitions, and simulate synthetic events. The library distinguishes itself through multiple rendering modes, including a shallow rendering engine for isolated unit testing and full DOM rendering for testing deep integration. It employs an adapter-based integration system to maintain compatibility across different versions of the underlying framework. The toolkit covers a br

    JavaScript
    View on GitHub↗19,831
  • microsoft/playwrightmicrosoft avatar

    microsoft/playwright

    91,074View on GitHub↗

    Playwright is a comprehensive browser automation framework designed for end-to-end testing and web workflow automation. It provides a unified API to drive web applications across multiple browser engines, enabling developers to simulate complex user interactions, perform web scraping, and validate application behavior in consistent, isolated environments. The framework distinguishes itself through a web-first testing paradigm that prioritizes stability and resilience. By utilizing an auto-waiting actionability engine and accessibility-tree-based locators, it eliminates common sources of test

    TypeScriptautomationchromechromium
    View on GitHub↗91,074

AI search

Explore more awesome repositories

Describe what you need in plain English — the AI ranks thousands of curated open-source projects by relevance.

Find more with AI search
  • testing-library/jest-domtesting-library avatar

    testing-library/jest-dom

    4,597View on GitHub↗

    jest-dom is a collection of custom matchers and assertions for Jest designed to validate HTML element states, accessibility, and document object model properties. It functions as a specialized toolkit for verifying the structural and visual state of web elements during automated testing. The library provides specialized functions for checking CSS classes, attributes, and form validity. It includes a suite of assertions to verify ARIA roles, accessible names, and compatibility with assistive technologies. Its capabilities cover the verification of element presence, visibility, and positioning

    JavaScript
    View on GitHub↗4,597
  • callstack/react-native-testing-librarycallstack avatar

    callstack/react-native-testing-library

    3,390View on GitHub↗

    This project is a testing framework designed for React Native applications, providing a suite of tools to render components in a controlled memory environment. It enables developers to verify the behavior and structure of mobile interfaces by simulating user interactions and monitoring component lifecycle transitions. By isolating components from the rest of the application, it ensures that tests remain stable and independent. The framework distinguishes itself through an accessibility-first approach, prioritizing user-facing attributes like roles, labels, and text content when querying the c

    TypeScriptjestreactreact-native
    View on GitHub↗3,390
  • teamcapybara/capybarateamcapybara avatar

    teamcapybara/capybara

    10,166View on GitHub↗

    Capybara is a browser automation library and web application acceptance test framework used to simulate user behavior and verify functional requirements. It serves as a cross-browser testing tool and headless browser orchestrator, allowing for the execution of test suites across multiple browser engines. The project provides a driver-agnostic interaction layer that abstracts different browser engines, enabling users to switch between headless and full browser drivers. It supports multi-user session simulation by maintaining independent browser states and cookies to test interactions between i

    Ruby
    View on GitHub↗10,166
  • jnicklas/capybarajnicklas avatar

    jnicklas/capybara

    10,166View on GitHub↗

    Capybara is a browser automation testing library and framework for web application acceptance testing. It provides a high-level API for automating browser navigation and element interaction to validate user-facing features. The project features a cross-browser driver interface that allows switching between headless and full browser environments without modifying the underlying test code. This abstraction enables the simulation of complex web workflows across different browser drivers and environments. The suite covers user interaction simulation, including form filling, click events, and bro

    Ruby
    View on GitHub↗10,166
  • 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

    TypeScriptangular-testing-librarycomponent-testingcypress
    View on GitHub↗50,113
  • facebook/create-react-appfacebook avatar

    facebook/create-react-app

    103,325View on GitHub↗

    Create React App is a comprehensive suite of tools for project bootstrapping, local development serving, unit testing, and production asset optimization. It functions as a React project bootstrapper and frontend build toolchain that generates a pre-configured development environment and folder structure. The project provides a local development server with live reloading and real-time error reporting, alongside a built-in test runner for executing unit tests and generating code coverage reports. It also includes a progressive web app template to implement service workers and web app manifests

    JavaScript
    View on GitHub↗103,325
  • simular-ai/agent-ssimular-ai avatar

    simular-ai/Agent-S

    11,855View on GitHub↗

    Agent-S is a multimodal AI agent and LLM desktop automation framework designed to control operating systems through graphical user interface interactions. It functions as a computer use interface, utilizing vision-language grounding to translate natural language goals into precise screen coordinates and system actions. The project differentiates itself by combining structured accessibility tree inspection with vision-based element localization. It manages cross-application workflows by mapping conceptual descriptions to physical pixels and simulating low-level keyboard and mouse events to mov

    Pythonagent-computer-interfaceai-agentscomputer-automation
    View on GitHub↗11,855
  • airbnb/enzymeairbnb avatar

    airbnb/enzyme

    19,831View on GitHub↗

    Enzyme is a JavaScript component testing utility and test suite used to verify the behavior and rendered output of user interface components. It provides tools for simulating user interactions, updating component properties, and asserting that the resulting interface state matches expected outcomes. The project utilizes a pluggable adapter system to connect different user interface frameworks, allowing for consistent testing patterns across various libraries and versions. This architecture enables the verification of components across multiple UI library versions and different test runners.

    JavaScript
    View on GitHub↗19,831
  • storybooks/storybookstorybooks avatar

    storybooks/storybook

    90,364View on GitHub↗

    Storybook is an integrated environment for developing, documenting, and testing user interface components. It provides a development workshop for building components in isolation from main application logic, alongside a testing tool for simulating viewports and analyzing accessibility. The project creates a living catalog of interface elements that generates interactive examples and technical documentation for component APIs. It includes a dedicated environment for visual regression testing to verify states and behaviors across different configurations and screen dimensions. The platform cov

    TypeScript
    View on GitHub↗90,364
  • pa11y/pa11ypa11y avatar

    pa11y/pa11y

    4,463View on GitHub↗

    Pa11y is an automated web accessibility auditor and WCAG compliance scanner. It functions as a headless browser testing tool and a Node.js accessibility API that identifies barriers for users with disabilities using automated rules and industry standards. The project provides a programmable interface for triggering audits and retrieving structured result objects within JavaScript applications. It distinguishes itself through capabilities such as user interaction simulation, page state synchronization, and the ability to restrict test scopes using CSS selectors to audit specific page regions.

    JavaScripta11yaccessibilityaccessibility-testing
    View on GitHub↗4,463
  • dequelabs/axe-coredequelabs avatar

    dequelabs/axe-core

    6,900View on GitHub↗

    axe-core is an automated accessibility testing engine and compliance auditor designed to scan web and mobile interfaces for violations of industry accessibility standards. It functions as a programmatic scanner and linter that analyzes HTML and source code to identify barriers and verify compliance with accessibility guidelines. The project distinguishes itself by combining a DOM-based rule engine with computer vision and machine learning to detect complex violations that evade traditional analysis, such as visual heading discrepancies and informative images. It provides specialized capabilit

    JavaScripta11yaccessibilityaxe
    View on GitHub↗6,900
  • storybookjs/storybookstorybookjs avatar

    storybookjs/storybook

    90,415View on GitHub↗

    Storybook is a development environment for building, testing, and documenting user interface components in isolation. By rendering components within a sandboxed environment, it decouples them from the host application's global state and dependencies, allowing developers to verify complex states and edge cases without running the full application. The platform utilizes a framework-agnostic bridge layer to support various frontend technologies and features a modular, addon-based architecture that allows for custom UI panels and toolbar controls. It captures component states as declarative metad

    TypeScriptangularcomponentsdesign-systems
    View on GitHub↗90,415
  • whatwg/htmlwhatwg avatar

    whatwg/html

    9,163View on GitHub↗

    This repository contains the HTML specification, which defines the core standards for web page structuring, content organization, and document rendering. It establishes the fundamental algorithms for state-machine-based tokenization, tree construction for the document object model, and origin-based security isolation. The specification provides a framework for defining custom elements with independent lifecycles and registries. It also details the requirements for cross-document communication, session history management, and the synchronization of interface properties with content attributes.

    HTMLcanvaseventsourcehtml
    View on GitHub↗9,163
  • testing-library/react-hooks-testing-librarytesting-library avatar

    testing-library/react-hooks-testing-library

    5,266View on GitHub↗

    This project is a specialized test harness and mocking utility designed for unit testing React hooks in isolation. It provides a simulated component environment that executes hook logic and tracks returned values without requiring a full user interface. The library enables the verification of hook lifecycles, including mounting, updating, and unmounting phases. It features mechanisms for injecting properties to force re-renders and an asynchronous waiting system to ensure state updates are processed before assertions are run. The toolset covers state management verification, automated lifecy

    TypeScriptjavascriptreact-hooksreactjs
    View on GitHub↗5,266
  • facebook/reactfacebook avatar

    facebook/react

    245,669View on GitHub↗

    React is a JavaScript library for building user interfaces based on a component-driven architecture and unidirectional data flow.

    JavaScriptjavascriptuifrontend
    View on GitHub↗245,669
  • mswjs/mswmswjs avatar

    mswjs/msw

    17,977View on GitHub↗

    MSW is a JavaScript API mocking library and integration testing tool designed to intercept network requests at the network level. It allows for the definition of mock data and status codes using routing syntax to simulate server responses without requiring changes to the application source code. The project utilizes a service worker to proxy API calls in the browser, providing a mechanism for isolated frontend development and testing. It employs platform-specific network adapters to maintain a consistent mocking interface across both browser and Node.js environments. The library covers a ran

    TypeScriptapiapi-mockingdevtools
    View on GitHub↗17,977
  • nightwatchjs/nightwatchnightwatchjs avatar

    nightwatchjs/nightwatch

    11,948View on GitHub↗

    Nightwatch is a Node.js test automation tool and W3C WebDriver test framework designed for executing functional test suites and verifying system behavior. It provides a suite of utilities for web browser automation, native mobile application testing, and REST API validation. The project includes specialized tools for visual regression testing, which compares current screenshots against baseline images to detect unexpected changes. It also features an accessibility auditing tool to check user interface elements against established standards for compliance. The framework covers a broad range o

    JavaScriptautomated-testingchromedriverend-to-end-testing
    View on GitHub↗11,948
  • wix/detoxwix avatar

    wix/Detox

    11,949View on GitHub↗

    Detox is a gray-box end-to-end testing framework designed for mobile applications. It automates user interactions and verifies interface states by synchronizing test execution with the internal readiness of the application, ensuring that scripts wait for background tasks, network requests, and animations to complete before proceeding. The framework distinguishes itself through native-side binary instrumentation, which allows it to monitor the application message queue and query the native view hierarchy in real time. By interacting directly with the application process, it avoids reliance on

    JavaScriptandroidautomatione2e-tests
    View on GitHub↗11,949
  • vuejs/vuevuejs avatar

    vuejs/vue

    209,900View on GitHub↗

    Vue is a progressive, component-based JavaScript framework designed for building reactive user interfaces and single-page applications. It centers on a declarative template system that transforms HTML into efficient render functions, allowing developers to organize complex interfaces into isolated, reusable units that synchronize automatically with application state. The framework distinguishes itself through a dependency-tracking reactivity system that monitors data access during rendering to trigger precise updates. It provides a flexible architecture that supports both incremental adoption

    TypeScriptframeworkfrontendjavascript
    View on GitHub↗209,900
  • nestjs/nestnestjs avatar

    nestjs/nest

    75,862View on GitHub↗

    Nest is a server-side framework for building scalable and maintainable enterprise-grade applications using TypeScript. It provides a modular architecture that organizes code into encapsulated, reusable modules, utilizing a dependency injection container to manage object lifecycles and resolve component dependencies through declarative metadata. The framework distinguishes itself through a platform-agnostic abstraction layer that decouples core logic from underlying HTTP servers, allowing for flexible implementation choices. It employs a middleware-based request pipeline that processes traffic

    TypeScriptframeworkhacktoberfestjavascript
    View on GitHub↗75,862
  • eslint/eslinteslint avatar

    eslint/eslint

    27,349View on GitHub↗

    This project is a static analysis engine designed to identify patterns, enforce coding standards, and automate code quality improvements in software projects. By parsing source code into structured abstract syntax trees, it enables deep programmatic inspection and the automated remediation of identified programming issues. The engine functions as a pluggable linting framework, allowing developers to extend its core capabilities through a modular architecture. Users can inject custom rules, parsers, and processors to support non-standard file formats or domain-specific logic. This extensibilit

    JavaScriptecmascripteslintjavascript
    View on GitHub↗27,349
  • 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

    TypeScript
    View on GitHub↗45,448
  • styled-components/styled-componentsstyled-components avatar

    styled-components/styled-components

    41,094View on GitHub↗

    styled-components is a CSS-in-JS styling library and tool for React components. It provides a cross-platform UI styling API and a dynamic theme management system to maintain consistent design tokens and encapsulate visual logic, preventing global scope conflicts. The library utilizes a unified interface that works across both web environments and native mobile frameworks. It enables the definition of styles using JavaScript and TypeScript template literals, allowing CSS to be bound directly to components. The system supports dynamic prop-based styling, style inheritance, and the creation of

    TypeScriptcsscss-in-jsreact
    View on GitHub↗41,094
  • 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

    TypeScripteasyexpectationfacebook
    View on GitHub↗45,448
  • axios/axiosaxios avatar

    axios/axios

    109,077View on GitHub↗

    Axios is an isomorphic, promise-based HTTP client designed for making asynchronous network requests across different JavaScript execution environments, including the browser and Node.js. It functions as a JSON API client that serializes JavaScript objects into JSON and parses server responses into structured data. The project features a system for managing reusable client instances with shared configurations, such as base URLs and default settings. It includes a mechanism for intercepting outgoing requests and incoming responses globally, allowing data to be transformed before it reaches the

    JavaScripthacktoberfesthttp-clientjavascript
    View on GitHub↗109,077
  • prettier/prettierprettier avatar

    prettier/prettier

    52,088View on GitHub↗

    Prettier is an opinionated code formatter that parses source code and reprints it from scratch to enforce a consistent, project-wide visual style. By transforming code into an abstract syntax tree and applying a recursive document printing process, it eliminates manual style debates and ensures that all source files adhere to a unified appearance. The project is distinguished by its extensible, plugin-based architecture, which decouples language-specific parsing logic from the core engine. This modular design allows for uniform style enforcement across diverse programming languages and comple

    JavaScriptangularastcss
    View on GitHub↗52,088
  • reduxjs/reduxreduxjs avatar

    reduxjs/redux

    61,511View on GitHub↗

    Redux is a predictable state container designed to manage global application data through a centralized store. It operates on a unidirectional data flow architecture where state transitions are triggered by dispatching action objects, which are then processed by pure reducer functions to produce a new, immutable state tree. This approach ensures that application data remains consistent and traceable across the entire component hierarchy. The library distinguishes itself through a functional pattern that relies on pure functions for state logic and a middleware-based extension system. This mid

    TypeScriptredux
    View on GitHub↗61,511