30 open-source projects similar to factoryboy/factory_boy, ranked by shared indexed features. Tags may describe platforms or build tools rather than the same primary purpose. Check each project’s use case, license, and deployment requirements before treating it as a replacement.
FactoryBot is a Ruby library for generating complex test objects and their associations, serving as a dynamic alternative to static fixture files. It provides a system for defining reusable data blueprints with default attributes and inheritance to produce consistent test records. The tool distinguishes itself through flexible instantiation strategies, allowing users to control whether objects are persisted to a database, built in memory, or created as stubs. It manages data uniqueness via a sequence generator for incremental values and uses traits to bundle shared attributes into reusable mo
Alice is a PHP test data generator and fixture library used to automate the creation of large sets of fake objects and entities. It functions as an object hydrator and random data provider, allowing users to define the structure and attributes of dummy test data in markup or arrays to simulate specific application states. The library distinguishes itself through a template-based system that supports fixture inheritance to reduce data duplication. It utilizes a flexible instantiation model that allows for custom factory integration, method invocation, and property hydration via reflection or c
Chance is a JavaScript library for generating random data, designed to produce realistic test data for automated tests and prototypes. It uses a Mersenne Twister pseudo-random number generator that accepts an optional seed value, enabling reproducible sequences of random values across multiple runs. The library provides a wide range of generators for common data types, including random integers, floats, booleans, characters, strings, and dates, all with configurable ranges and character pools. It can generate realistic geographic data like addresses, as well as financial data such as credit c
fast-check is a property-based testing framework and random data generator designed to verify software invariants by producing a wide range of randomized input data. It functions as a test data fuzzer that executes predicates against high volumes of random inputs to uncover edge cases and critical bugs. The project is distinguished by its ability to perform input-shrinking searches, which reduce complex failing inputs to their simplest form to isolate the exact cause of failure. It provides deterministic seed replay to exactly reproduce specific test failures and includes a concurrency testin
Faker is a PHP library for creating realistic synthetic data used for testing, prototyping, and populating database entities. It serves as a test data generator and localized mocking tool capable of producing synthetic names, addresses, and identifiers specific to various countries and languages. The library provides mechanisms to ensure data consistency and quality, including deterministic seeding to produce identical data sequences across executions and stateful uniqueness tracking to prevent duplicate values. It also supports probability-weighted optionality to simulate missing data and cu
Mimesis is a Python synthetic data generator used to create realistic fake datasets and mock data for software testing and development. It functions as a schema-based dataset generator capable of producing structured records and relational datasets, while also serving as a production data anonymizer to replace sensitive information with synthetic values. The library distinguishes itself through comprehensive multilingual support, allowing for the generation of locale-specific information to simulate regional user profiles. It ensures reproducibility through deterministic data generation using
Hypothesis is a Python property-based testing library and data generation engine. It enables the discovery of edge cases and bugs by generating a wide range of randomized inputs based on defined strategies and shrinking complex failing examples to their smallest possible form. It also functions as a state machine testing framework to verify system behavior across sequences of interdependent operations. The project features a fuzzing integration layer that converts raw byte buffers from coverage-guided fuzzers into structured test cases. It includes a persistence mechanism to store and synchro
gofakeit is a Go library for creating realistic synthetic datasets and populating Go structs with mock information. It functions as a deterministic data generator, allowing for seedable random number generation to ensure reproducible datasets for software testing. The project distinguishes itself by providing a mock data API server that exposes generation functions as HTTP endpoints and a synthetic dataset exporter for producing files in CSV, JSON, and XML formats. It also includes a command-line interface for generating mock data directly from the terminal. The library covers a wide array o
CodeIgniter is a PHP web framework built on the Model-View-Controller pattern, designed for building full-stack web applications. It provides a lightweight toolkit with minimal configuration, organizing application logic into controllers, models, and views for clean separation of concerns. The framework includes a fluent query builder for constructing SQL statements programmatically, PSR-4 autoloading with namespace mapping, and a service-based dependency injection container for managing shared class instances. The framework distinguishes itself through its comprehensive set of built-in tools
Faker is a PHP fake data generator and testing utility used to produce realistic randomized values for populating databases and test applications. It serves as a localization library that generates data tailored to specific languages and regional formats, providing a framework for extending data generation through custom classes and domain-specific formatters. The library ensures repeatability in testing environments through deterministic random seeding. It includes mechanisms to control output quality, such as enforcing value uniqueness and simulating missing data by occasionally producing n
Doorkeeper is an OAuth 2 authorization server and provider for Ruby on Rails and Grape applications. It provides the necessary framework to build an authorization server that issues and validates security tokens for third-party applications, effectively acting as a security middleware to protect API endpoints. The project integrates an identity layer via OpenID Connect to verify user identities and retrieve profile information. It supports a variety of security patterns, including the implementation of the PKCE flow for public clients and the issuance of stateless JSON Web Tokens. Its broade
TUnit is a comprehensive C# testing framework, mocking library, and fluent assertion tool. It utilizes source generation for test discovery and mock creation, ensuring compatibility with Native AOT and IL trimming by eliminating the need for runtime reflection and proxies. The framework provides specialized capabilities for integration testing, including the management of distributed application lifecycles, isolated database schemas, and the correlation of telemetry and logs across process boundaries via OTLP. It also includes an HTTP testing utility to intercept network exchanges and mock AP
Mock is a JavaScript API mocking tool and network request interceptor designed to decouple front-end development from back-end progress. It functions as an API simulation tool and mock data generator, allowing developers to build user interfaces and high-fidelity prototypes by mimicking the request and response cycle without a live server. The system provides a mechanism for intercepting outgoing HTTP calls and returning simulated data. It enables front-end prototyping by generating synthetic datasets to validate application behavior during automated testing cycles and development. Capabilit
xtensor is a C++ multidimensional array library for numerical computing that provides N-dimensional containers with an interface mirroring the NumPy API. It utilizes a lazy evaluation expression engine to defer numerical computations until assignment, which minimizes memory allocations and intermediate copies. The library features a foreign memory array adaptor that allows it to wrap external buffers, such as NumPy arrays, to perform numerical operations in-place without duplicating data. It further optimizes performance through lazy broadcasting and a system that manages the lifetime of temp
Flask-SQLAlchemy is a relational database toolkit that integrates the SQLAlchemy object-relational mapper into web applications. It serves as a database session manager and schema toolkit, providing the necessary infrastructure to define data models and execute queries within a request lifecycle. The project is distinguished by its multi-database routing engine, which uses bind-keys to map different models to multiple distinct database engines. It also includes a SQL query auditing tool that captures and logs executed statements and timing data for a single request to identify performance bot
Reason is a strongly typed functional language and multi-target compiler designed to produce either JavaScript for web environments or native machine code for operating systems. It serves as an OCaml-compatible language that shares an abstract syntax tree with OCaml, providing a practical syntax for the OCaml ecosystem. The project functions as a type-safe frontend language, incorporating JSX support to build user interfaces through structural elements that translate into type-safe function calls. It enables deep integration with the JavaScript ecosystem, allowing the use of existing librarie
Oils is a Unix shell interpreter and scripting language runtime that combines a modern shell language with POSIX and Bash compatibility. It functions as a structured data shell, integrating JSON and J8 formats to manage complex data without relying on string parsing. The system is distinguished by a C++ transpiled interpreter that converts a subset of Python source code into strongly typed C++ for high-performance execution. It features a garbage-collected typed runtime that supports prototype-based polymorphism, lexical closures, and reference-based variable mutation. To decouple shell logic
Ink is an interactive narrative scripting language, a JSON narrative compiler, and a narrative engine runtime. It provides a specialized toolset for authoring non-linear stories and complex branching dialogue systems, allowing developers to manage game state and deliver interactive text to a user interface. The system transforms raw scripts into a machine-readable JSON bytecode format to optimize execution within external game engines. It distinguishes itself through advanced state management, including the ability to serialize story progress into snapshots and maintain concurrent story conte
Carp is a statically typed Lisp compiler that compiles Lisp-like syntax directly to C source code, enabling seamless integration with existing C libraries and low-level system programming. It manages memory deterministically at compile time using ownership tracking and linear types, eliminating garbage collection pauses and runtime overhead while ensuring type safety through an inferred static type system. The language distinguishes itself through compile-time macro expansion and metaprogramming capabilities, allowing code generation and transformation before final binary output. It enforces
Java-faker is a synthetic data generator and mock data library for Java applications. It provides utilities to create randomized, believable fake records such as names and addresses to populate test environments and verify application logic without using real user information. The library specializes in localized data generation, producing synthetic content tailored to specific languages and regional formats. This allows for the verification of application accuracy across different global locales. The tool covers broad capabilities for automated testing mocking, including the generation of m
This project is a software design pattern implementation guide and architecture reference. It provides a practical collection of code examples demonstrating creational, structural, and behavioral patterns to improve software maintainability and quality. The library includes standardized implementations for object instantiation through creational patterns, templates for assembling objects into efficient hierarchies using structural patterns, and examples for managing object communication and responsibility distribution via behavioral patterns. The project maps these abstract design patterns t
Faker is a Ruby library used to generate randomized, realistic placeholder information for testing and development. It produces synthetic data to populate databases and test application logic without the use of real user information. The library provides localized data generation, using region-specific formats and strings for names, addresses, and phone numbers. It supports deterministic output through seedable random number generation, ensuring that sequences of fake data can be repeated across different test runs. The generator covers a wide range of domains, including personal identity, f
Faker is a synthetic data generation library used to create realistic but fake information, such as names, addresses, and phone numbers, for software testing and database population. It functions as a tool for producing synthetic test data to fill development databases with records that simulate production environments. The library provides localized data generation, allowing synthetic information to be customized for specific geographic regions and language formats. It also includes a mechanism for unique value enforcement to prevent the repetition of generated data by tracking and rejecting
Hypothesis is a property-based testing library for Python that automatically generates randomized input data to identify bugs and edge cases. It functions as an automated edge case finder and test data generator, creating diverse synthetic datasets based on defined strategies to stress test application logic. The library includes a failing case shrinker that simplifies complex failing test inputs into the smallest possible examples to accelerate debugging. It also provides a mechanism for bug reproduction simplification by reducing the size of the input that triggers a failure. The project c
This project is a reference implementation and boilerplate for managing user authentication and session state within the Next.js framework. It serves as a practical example of how to integrate NextAuth.js to protect routes and handle identity verification. The repository demonstrates several authentication workflows, including OAuth identity integration with third-party providers, passwordless authentication using email magic links, and traditional credentials-based sign-in. It specifically showcases how to replace default authentication screens with custom branded sign-in pages. The impleme
MobX State Tree is a structured, tree-based state management library for JavaScript applications that combines typed model definitions with reactive snapshots and patch-based change tracking. It provides a reactive state container with runtime and compile-time type safety, where application state is defined as a tree of typed models with collocated actions, computed views, and lifecycle hooks for predictable state mutations. The library is built around an action-centric mutation model that encapsulates all state changes within named functions that directly modify the tree, supported by genera
DoctrineMigrationsBundle is a database schema migration tool and a Symfony framework integration for managing and versioning database changes using the Doctrine Migrations library. It functions as a bridge connecting the Symfony service container to Doctrine database migration workflows. The project provides a system for tracking and applying incremental changes to a database schema, ensuring consistent states across development, staging, and production environments. It automates schema updates to maintain data structures without manual SQL execution. The tool integrates with the framework t
Pandera is a data pipeline validation framework and statistical type validation tool. It functions as a library for defining and enforcing schemas on datasets to ensure data quality and consistency, specifically providing validation capabilities for Pandas dataframes. The project includes a schema inference tool that automates setup by analyzing existing dataset samples to generate validation schemas. It also serves as a synthetic data generator, creating artificial datasets based on predefined schemas to verify data-producing functions. The framework covers data engineering quality assuranc
Lazy.js is a JavaScript library that implements a lazy evaluation model for processing collections and data streams. It defers all computation until iteration begins, building chains of transformations that execute only when values are consumed, avoiding intermediate arrays and buffering. The library wraps data sources into a uniform sequence interface, enabling operations like map and filter to be chained together without materializing intermediate results. The library extends lazy processing beyond simple collections to handle asynchronous data sources, DOM events, strings, and Node.js stre
JUnit-quickcheck is a property-based testing framework that integrates directly into the JUnit lifecycle to verify software invariants. It functions by automatically generating random input data for test parameters, ensuring that defined logic holds true across a wide range of scenarios. The framework distinguishes itself through type-directed data generation, which matches method parameters to registered producers to create valid inputs. When a test fails, the library employs recursive shrinking logic to reduce the input to the smallest possible representation, simplifying the process of ide