Testing & Mocking Packages
Testing frameworks, assertion libraries, and mocking tools for writing reliable unit, integration, and end-to-end tests (testify, pytest, Vitest).
Packages in Testing & Mocking
Kind
Sort:Used by Most Apps
Playwright
Cross-browser end-to-end web testing and browser automation with a single API for Chromium, Firefox, and WebKit.
jsdom
A pure-JavaScript implementation of the WHATWG DOM and HTML standards for Node.js.
React Testing Library
Simple and complete React DOM testing utilities that encourage good testing practices.
jest-dom
Custom Jest matchers for asserting on the state of the DOM in your tests.
user-event
Simulates the full sequence of real browser events so Testing Library tests behave the way an actual user does.
Storybook
The industry-standard workshop for building, documenting, and testing UI components in isolation, across every major frontend framework.
DOM Testing Library
Simple, framework-agnostic DOM query utilities that test your UI the way real users interact with it.
Faker
Generate massive amounts of realistic fake data for testing, seeding, and mocking in JavaScript and TypeScript.
Puppeteer
Node.js library for automating Chrome and Firefox over the DevTools Protocol and WebDriver BiDi
Cypress
Fast, easy, and reliable end-to-end and component testing for anything that runs in a browser.
mocha
The classic, battle-tested JavaScript test framework for Node.js and the browser, built around flexible async testing and pluggable reporters.
Chai
BDD/TDD assertion library for Node.js and the browser, framework-agnostic
testcontainers-go
Programmatically spin up disposable Docker containers for Go integration and smoke tests, then tear them down automatically.
jest-junit
A Jest reporter that converts test results into JUnit-compatible XML for CI dashboards and test-analytics tools.
deep-equal
A standalone port of Node's own assert.deepEqual algorithm, giving spec-accurate deep equality checks in Node and the browser alike.
Dockertest
Spin up real Docker containers for Go integration tests, then tear them down automatically.
chrome-remote-interface
A Node.js client for the Chrome DevTools Protocol, exposing every browser command, event, and type as a plain JavaScript API.
enigo
Cross-platform keyboard and mouse input simulation for Rust on Linux, macOS, and Windows.
@sinonjs/fake-timers
Deterministic fake implementations of setTimeout, setInterval, Date, and other timer APIs for fast, reliable JavaScript tests.
undetected-chromedriver
A drop-in Selenium Chrome WebDriver replacement that patches the chromedriver binary and browser fingerprint to evade bot-mitigation systems.
pywinauto
A Python library that drives Windows GUI apps by sending mouse, keyboard, and text-based actions to dialogs and controls.
memlab
Meta's end-to-end framework for finding JavaScript memory leaks and analyzing heap snapshots
user-agents
A JavaScript library that generates realistic, frequency-weighted random user agents and browser fingerprints from a dataset refreshed daily.
Cucumber Expressions
A human-readable alternative to regular expressions for matching Gherkin step text