Open-source mocking software
187 open-source libraries, tools and applications tagged mocking, ranked by how closely mocking is their primary purpose, then by adoption and maintenance health. Each entry links to a page with sources, use cases and when to choose or avoid it.
187 products, primary matches first, then adoption-weighted; health v2 shown.
| Product | Health v2 | Stars | Maturity |
|---|---|---|---|
| powermock/powermock PowerMock is a Java framework that extends mocking libraries like EasyMock and Mockito to enable unit testing of code normally regarded as … | 23 | 4170 | maintenance |
| WeTransfer/Mocker Mocker is a Swift library that mocks data requests from URLSession and Alamofire using a custom URLProtocol, without changing app code. It … | 23 | 1191 | active |
| wellwelwel/poku Poku is a zero-dependency, cross-platform test runner for JavaScript and TypeScript that runs the same test suite on Node.js, Bun, and Deno… | 78 | 1184 | active |
| kiwi-bdd/Kiwi Kiwi is a Behavior Driven Development (BDD) testing library for iOS written in Objective-C. It lets developers write readable spec-style te… | 23 | 4101 | maintenance |
| madsim-rs/madsim MadSim is a Rust async runtime similar to tokio that enables deterministic simulation testing for distributed systems. It mocks I/O interfa… | 59 | 1173 | active |
| instancio/instancio Instancio is a Java library that automatically creates fully-populated objects with random data for unit tests, including nested objects, c… | 94 | 1168 | active |
| adobe/S3Mock S3Mock is a lightweight server that implements a subset of the Amazon S3 API for local integration testing, removing the need for real AWS … | 97 | 1163 | active |
| vuejs/test-utils The official component testing utility library for Vue 3, providing APIs to mount, interact with, and assert against Vue components in test… | 98 | 1160 | stable |
| help-me-mom/ng-mocks ng-mocks is an Angular testing library that mocks components, directives, pipes, modules, services, and tokens while reducing TestBed boile… | 100 | 1159 | active |
| kahlan/kahlan Kahlan is a full-featured Unit and BDD test framework for PHP using a describe-it syntax similar to RSpec/JSpec. It includes built-in stubb… | 95 | 1146 | active |
| maxbrunsfeld/counterfeiter counterfeiter is a Go code generation tool that creates self-contained, type-safe fake implementations (test doubles) of interfaces. It int… | 94 | 1143 | active |
| dwyl/aws-sdk-mock A Node.js library that mocks AWS SDK (v2) services and methods using Sinon.js, primarily for unit testing AWS Lambda functions. It lets dev… | 67 | 1128 | active |
| MakeAWishFoundation/SwiftyMocky SwiftyMocky is a strongly typed Swift framework that automatically generates mock implementations of protocols using Sourcery code generati… | 23 | 1092 | active |
| chaijs/sinon-chai A Chai plugin that adds custom assertions for the Sinon.JS spy, stub, and mocking framework. It lets you write spy assertions in idiomatic … | 36 | 1089 | stable |
| mswjs/data A data querying library for testing JavaScript applications that lets developers define schema-based collections and query them with an ORM… | 94 | 1064 | active |
| fakefs/fakefs FakeFS is a Ruby gem that provides an in-memory fake filesystem, monkey-patching File, FileUtils, Dir, and related classes so tests can exe… | 52 | 1061 | active |
| rosiejs/rosie Rosie is a JavaScript library for defining factories that build test data objects, inspired by factory_bot (factory_girl). Factories suppor… | 32 | 1057 | stable |
| thoughtbot/fishery Fishery is a TypeScript-first library for defining factories that build JavaScript objects as test data, inspired by Ruby's factory_bot. It… | 62 | 1032 | active |
| FFLib Apex Common A common Apex library for Salesforce implementing Apex Enterprise Patterns such as Service Layer, Unit of Work, and Data Mapper. It helps s… | 76 | 1012 | active |
| bouk/monkey A Go library that enables monkey patching of functions and instance methods at runtime by rewriting the running executable to insert jumps … | 10 | 3422 | maintenance |
| PSPDFKit-labs/bypass Bypass is an Elixir library for spinning up a lightweight mock HTTP server (a Plug) inside tests to return prebaked responses to client req… | 43 | 1001 | stable |
| boo1ean/casual Casual is a fake data generator library for JavaScript/Node.js that produces random names, addresses, emails, text, and other common data t… | 32 | 3001 | maintenance |
| thlorenz/proxyquire A Node.js library that proxies the require function so dependencies can be overridden with stubs or mocks during testing without modifying … | 35 | 2745 | maintenance |
| reduxjs/redux-mock-store A mock Redux store for testing async action creators and middleware by recording dispatched actions. The Redux team now deprecates it in fa… | 23 | 2497 | maintenance |
| didi/sharingan Sharingan is a Go-based traffic recording and replay tool that captures real production request traffic (including downstream calls) and re… | 10 | 2381 | maintenance |
| gabrielfalcao/HTTPretty HTTPretty is a Python library that mocks HTTP clients by intercepting requests at the socket level, faking the entire socket module. It let… | 32 | 2148 | maintenance |
| velesin/jasmine-jquery A JavaScript library that extends the Jasmine testing framework with custom jQuery matchers and an API for loading HTML, CSS, and JSON fixt… | 10 | 1880 | maintenance |
| alibaba/testable-mock TestableMock is a lightweight mocking library for JVM unit tests that replaces methods (including private, static, and constructors) via a … | 32 | 1835 | maintenance |
| lausobo/Nocilla Nocilla is an Objective-C library for stubbing HTTP and HTTPS requests in iOS and macOS unit tests, inspired by WebMock. It intercepts requ… | 23 | 1825 | maintenance |
| Midje Midje is a testing framework for Clojure that offers a readable, fact-based style of writing tests and a migration path from clojure.test. … | 32 | 1698 | maintenance |
| githublitao/api_automation_test A self-hosted API automation testing platform built with Django REST framework on the backend and Vue + ElementUI on the frontend. It provi… | 63 | 1670 | maintenance |
| kylef/Mockingjay Mockingjay is a Swift library for stubbing HTTP/HTTPS requests made via NSURLConnection or NSURLSession, including requests from libraries … | 23 | 1484 | maintenance |
| testdouble.js testdouble.js (td.js) is a minimal, opinionated test double library for JavaScript that provides stubbing, spying, and verification for tes… | 76 | 1425 | maintenance |
| acoomans/SimulatorRemoteNotifications An Objective-C library that extends UIApplication to receive mock remote notifications on the iOS simulator via a mini UDP server. It inclu… | 32 | 1366 | maintenance |
| vivo/MoonBox Moonbox is a noninvasive server-side traffic capture and replay platform built on the JVM-Sandbox ecosystem (jvm-sandbox-repeater). It reco… | 57 | 1345 | maintenance |
| pretenderjs/pretender Pretender is a browser-only mock server library that intercepts XMLHttpRequest and Fetch requests and routes them to handlers defined with … | 23 | 1261 | maintenance |
| biubiubiu01/vue3-bigData A big-data visualization dashboard built with Vue 3 and ECharts, featuring charts like bar, pie, funnel, radar, map drill-downs, and relati… | 32 | 1247 | maintenance |
| jfairbank/redux-saga-test-plan A JavaScript testing library for Redux Saga that provides chainable assertion APIs for both unit and integration testing of sagas. It offer… | 56 | 1242 | maintenance |
| kevinburke/hamms Hamms is a Python library and CLI tool that runs a set of deliberately broken HTTP servers on ports 5500-5600 to elicit failures in HTTP cl… | 32 | 1201 | maintenance |
| cedarbdd/cedar Cedar is a BDD-style testing framework for Objective-C featuring an expressive matcher DSL and built-in test doubles. It integrates with Xc… | 23 | 1182 | maintenance |
| didi/rdebug Rdebug is a tool chain for recording real production traffic and replaying it against non-production environments to test and debug PHP mic… | 10 | 1156 | maintenance |
| fabioCollini/DaggerMock DaggerMock is a JUnit rule that makes it easy to override Dagger 2 provided objects with Mockito mocks in Java or Kotlin tests. It scans @M… | 32 | 1154 | maintenance |
| google/intermock Intermock is a Google open-source mocking library that generates mock objects and JSON with fake data from TypeScript interfaces using Fake… | 10 | 1141 | maintenance |
| notahat/machinist Machinist is a Ruby library for generating test data through 'blueprints' that replace traditional fixtures in Rails tests. It automaticall… | 32 | 1112 | maintenance |
| tonerdo/pose Pose is a .NET isolation/mocking library that lets you replace any method—including static, non-virtual, and constructors—with a delegate a… | 23 | 1105 | maintenance |
| flickr/yakbak yakbak is a Node.js library that records and replays HTTP responses, inspired by Ruby's VCR. It proxies requests to a target host, saving r… | 23 | 1100 | maintenance |
| mfncooper/mockery A Node.js library that intercepts require() calls so mocks or substitutes can be injected in place of real modules during unit testing. It … | 10 | 1094 | maintenance |
| google/cmockery Cmockery is a lightweight C library for writing unit tests, compiled into standalone test executables linked with the code under test. It e… | 10 | 1085 | maintenance |
| architect/dynalite Dynalite is a JavaScript implementation of Amazon's DynamoDB API built on LevelDB, runnable as a CLI or embedded Node.js HTTP server with f… | 38 | 1077 | maintenance |
| jpillora/xhook XHook is a small JavaScript library that patches XMLHttpRequest to let you intercept and modify AJAX requests and responses in the browser.… | 23 | 1037 | maintenance |
| mongomock/mongomock Mongomock is a small Python library that provides a fake in-memory implementation of pymongo collection objects for testing MongoDB-depende… | 32 | 1005 | maintenance |
| service-mocker/service-mocker Service Mocker is a frontend API mocking framework that uses service workers to intercept real HTTP requests without requiring any backend … | 10 | 1004 | maintenance |
| NagRock/ts-mockito ts-mockito is a strongly typed mocking library for TypeScript inspired by Mockito. It provides mock creation, spying, stubbing, verificatio… | 23 | 996 | maintenance |
| Pact Contract Testing Framework Pact is a code-first contract testing framework that lets consumers define expected interactions with providers via a DSL and mock service,… | 32 | 316 | active |
| RSpec RSpec is Ruby's behaviour-driven development (BDD) testing framework, composed of modular libraries: rspec-core (spec runner), rspec-expect… | 64 | 117 | stable |
| golang/mock GoMock is a mocking framework for Go that generates mock implementations of interfaces via the mockgen code-generation tool. It integrates … | 10 | 9319 | abandoned |
| bxcodec/faker A Go library that generates fake data based on struct definitions using struct tags or single-value functions. This repository is archived … | 10 | 2078 | abandoned |
| Pythagora-io/pythagora Pythagora is an npm CLI tool (with a VS Code extension) that uses LLMs like GPT-4 to automatically generate unit and integration tests for … | 67 | 1823 | abandoned |
| hugues-m/phpunit-vw A PHPUnit extension created as a joke during the 2015 Volkswagen emissions scandal that detects CI environments and makes failing test suit… | 23 | 1759 | abandoned |
| dchelimsky/rspec RSpec is a Behaviour Driven Development (BDD) testing framework for Ruby, composed of modular libraries: rspec-core (spec runner), rspec-ex… | 10 | 1729 | abandoned |
| zackargyle/service-workers A collection of JavaScript tools for generating, testing, and experimenting with service workers, including a generator, a webpack plugin, … | 32 | 1278 | abandoned |
| angular/in-memory-web-api An Angular library that intercepts Http and HttpClient requests and redirects them to an in-memory data store, emulating a REST API with CR… | 10 | 1164 | abandoned |
| didi/DoKit DoKit (DoraemonKit) is an efficiency platform for the full lifecycle of pan-frontend product development, offering in-app debug toolkits fo… | 79 | 20418 | active |
| Vitest Vitest is a next-generation JavaScript/TypeScript testing framework built on top of Vite, offering Jest-compatible APIs with fast watch mod… | 94 | 17202 | stable |
| zuiidea/antd-admin Antd Admin is a production-style admin dashboard template and scaffolding CLI built on React 19, Ant Design 6, TanStack Router/Query, Zusta… | 82 | 9769 | active |
| nodejs/undici Undici is a fast HTTP/1.1 client library for Node.js, written from scratch, that also provides WHATWG-compliant fetch, WebSocket, EventSour… | 94 | 7708 | stable |
| AidLux (AidLearning) AidLux (originally AidLearning) is an AIoT development platform that runs a native Ubuntu Linux environment with GUI, deep learning tooling… | 63 | 5812 | active |
| fabric8 A Java client library providing access to the full Kubernetes and OpenShift REST APIs via a fluent DSL. It includes extensions for Knative,… | 98 | 3677 | active |
| Gauge Taiko is a free and open-source Node.js library for browser automation and end-to-end testing of modern web applications, supporting Chromi… | 90 | 3674 | active |
| Kong/unirest-java Unirest is a lightweight, fluent HTTP client library for Java supporting HTTP/1 and HTTP/2, WebSockets, JSON mapping via Jackson or GSON, a… | 100 | 2703 | active |
| vmware/govmomi govmomi is a Go library for interacting with the VMware vSphere API (ESXi and vCenter Server). It also ships with govc (a vSphere CLI), vcs… | 96 | 2554 | active |
| learnhouse/learnhouse LearnHouse is a next-generation open-source learning management system (LMS) for creating, sharing, and selling educational content. It com… | 100 | 2404 | active |
| nest-admin A Vue 3 + TypeScript admin dashboard template built with Vite and Ant Design Vue 4, featuring an RBAC permission system, JSON Schema dynami… | 62 | 2268 | active |
| steipete/Aspects Aspects is a small Objective-C/Swift library for aspect-oriented programming that hooks into existing methods per class or per instance usi… | 10 | 8414 | maintenance |
| Microcks Microcks is an open source, cloud native platform for API mocking and testing that turns OpenAPI, AsyncAPI, gRPC, GraphQL, Postman and Soap… | 94 | 2044 | active |
| f/mcptools A Go-based command-line interface for discovering, calling, and managing tools, resources, and prompts exposed by MCP (Model Context Protoc… | 44 | 1629 | active |
| vlucas/frisby Frisby.js is a REST API testing framework built on top of Jest that provides a fluent, promise-based API for testing HTTP endpoints. It inc… | 56 | 1511 | active |
| graphql-hive/graphql-modules GraphQL Modules is a TypeScript library for building reusable, testable, and maintainable modules out of a GraphQL server's schema and reso… | 83 | 1326 | stable |
| trpc-group/trpc-go tRPC-Go is the Go implementation of the tRPC framework, a pluggable, high-performance RPC framework for building microservices. It supports… | 75 | 1208 | active |
| law-chain-hot/websocket-devtools A Chrome/Edge DevTools browser extension for monitoring, simulating, and blocking WebSocket traffic. It integrates as a native DevTools pan… | 84 | 1198 | active |
| authorjapps/zerocode Zerocode TDD is an open-source, no-code automated testing framework for REST/SOAP APIs, Kafka data streams, databases, ETL pipelines, and l… | 92 | 1015 | active |
| oxidecomputer/progenitor Progenitor is a Rust crate that generates opinionated async client code from OpenAPI 3.0.x API descriptions, producing a typed `Client` wit… | 75 | 1010 | active |
| nx-admin nx-admin is an open-source Vue 2 + Element UI admin dashboard template for rapidly building enterprise back-office management systems. It s… | 23 | 2600 | maintenance |
| steebchen/prisma-client-go Prisma Client Go is an auto-generated, fully type-safe database client and query builder for Go, part of the Prisma ecosystem. It supports … | 10 | 2275 | maintenance |
| vbenjs/vben-admin-thin-next A slimmed-down starter template of Vue Vben Admin built with Vue 3, Vite, and TypeScript for middle- and back-end admin front-ends. It ship… | 66 | 2071 | maintenance |
| google/martian Martian is a programmable HTTP/S proxy library written in Go, designed primarily for testing. It lets developers intercept, inspect, and mo… | 10 | 2040 | maintenance |
| luoxue-victor/workflow A Chinese-language frontend workflow platform centered on the @pkb/cli scaffolding tool that generates webpack, rollup, vite, node, lerna, … | 32 | 1979 | maintenance |
← prev page 2 / 2