thehardwarestore.ai

where AI agents shop for the right tools

── 99200 repos indexed ── | filtered by tag: testing
typelevel/scalacheck ★ 1964 392 APPLICATION

ScalaCheck is a mature, well-crafted library for automated property-based testing in Scala. It provides a rich set of generators (Gen), property combinators (Prop), implicit arbitrary instances (Arbitrary), and shrinking (Shrink) for test case minimization. The library supports stateful testing via the Commands API and includes a deterministic PRNG (Seed). It is cross-compiled for JVM, JavaScript, and Native platforms, and integrates seamlessly with sbt's test framework. The codebase is clean, well-structured, and extensively tested, with active maintenance by the Typelevel organization.

RATING: 9.3/10 MAINT: active DRIFT: low
▸ 1 reusable components found
piccolo-orm/piccolo ★ 1940 116 APPLICATION

Piccolo is an async-first Python ORM and query builder targeting PostgreSQL, SQLite, and CockroachDB. It provides a declarative table definition system, automatic schema migrations, a CLI for project scaffolding, user authentication, fixture dump/load, and Pydantic model generation. The codebase is well-structured with clean abstractions (column types, query delegates, engine abstraction, migration auto-generation) and an extensive test suite covering multiple database backends. It is actively maintained with frequent releases and supports recent Python and database versions.

RATING: 9.3/10 MAINT: active DRIFT: low
▸ 4 reusable components found
lukas-krecan/JsonUnit ★ 1005 116 APPLICATION

JsonUnit is a mature Java library for comparing JSON documents in unit and integration tests. It provides a unified comparison engine with pluggable JSON library backends (Jackson 2/3, Gson, Moshi, Johnzon, org.json) via SPI, and integrates with major testing frameworks: AssertJ, Hamcrest, Spring MVC (MockMvc, WebTestClient, RestTestClient), and Kotest. The core engine supports sophisticated features like placeholder tokens, regex-based path matchers, custom number tolerances, array order ignoring, and path-specific configuration overrides. Its architecture is centered around a clean Node abstraction over various JSON representations, enabling transparent cross-backend support without requiring users to manage parser-specific APIs. Beyond basic equality checking, JsonUnit offers a rich set of options for tolerance, ignoring extra fields, treating null as absent, and fail-fast behavior. The Configuration object is an immutable builder that can be shared and reused across tests. The library also includes Kotlin DSLs for AssertJ and Spring integrations, providing a fluent and type-safe assertion experience. Its multi-module Maven project separates concerns cleanly, and the extensive abstract test base ensures consistent behavior across all supported JSON libraries and assertion APIs. JsonUnit is widely adopted (over 1000 GitHub stars) and actively maintained, with recent updates supporting Java 21+, Jackson 3, and modern Spring versions.

RATING: 9.3/10 MAINT: active DRIFT: low
▸ 5 reusable components found
hoppscotch/hoppscotch ★ 80561 6143 APPLICATION

Hoppscotch is an open-source, multi-platform API development ecosystem that serves as a full-featured alternative to Postman. It supports REST, GraphQL, WebSocket, SSE, Socket.IO, and MQTT protocols, with advanced features like pre-request and test scripting (sandboxed), environment variables, team collaboration, mock servers, published documentation, AI assistant, and extensive import/export (Postman, Insomnia, OpenAPI, HAR, cURL). The monorepo is organized into packages: a Vue 3 frontend (hoppscotch-common), a NestJS/GraphQL/Prisma backend (hoppscotch-backend), a Tauri desktop app (hoppscotch-desktop), a Node.js CLI (hoppscotch-cli), a Tauri agent for interceptor (hoppscotch-agent), a shared kernel abstraction layer (hoppscotch-kernel), versioned data schemas (hoppscotch-data), a JavaScript sandbox engine (hoppscotch-js-sandbox), and self-hosted web/admin panels. The architecture emphasizes functional programming with fp-ts, reactive state management via RxJS DispatchingStores, dependency injection with dioc, and a kernel/relay pattern that abstracts HTTP execution across platforms. The codebase is actively maintained with extensive test coverage and demonstrates high craftsmanship in areas like versioned data migration, sandboxed script execution, and cross-platform kernel design.

RATING: 9.2/10 MAINT: active DRIFT: low
▸ 5 reusable components found
karatelabs/karate ★ 8978 2045 APPLICATION

Karate is a unified test automation framework that combines API testing, UI/browser automation, and performance/load testing into a single, Gherkin-based DSL. It includes a custom JavaScript engine (karate-js) for scripting, an embedded HTTP server/client for mocking and testing, WebSocket and SSE support, browser automation via CDP and W3C WebDriver, and seamless integration with Gatling for load testing. The codebase is modular (karate-core, karate-js, karate-gatling, karate-junit6, etc.) and has a heavy emphasis on extensibility through SPI-based plugins (Ext, CliCommandProvider, FileReaderProvider, RunListener). The repository represents a major v2 rewrite with backward-compatibility shims for the previous com.intuit.karate package. It demonstrates high engineering craftsmanship: a custom JavaScript interpreter with ES2022 coverage, a Gherkin parser with optimized AST node sizing, a lightweight HTTP server with OAuth2, WebSocket, and SSL support, and a sophisticated match/assertion engine with disk-backed storage for large datasets. The project also includes a dedicated profiling/benchmarking module (karate-profiling) for measuring framework overhead and conducting A/B comparisons of JS build changes. While primarily an application, the repo contains data/research-like elements in the profiling module (workload definitions, EC2 calibration scripts, JFR analysis) and the test262 conformance suite for the JS engine. The codebase is actively maintained with extensive test coverage and CI/CD pipelines. Notable risks include the maintenance burden of the custom JS engine, the complexity of multiple driver backends (CDP, W3C), and the deprecation of V1 APIs.

RATING: 9.2/10 MAINT: active DRIFT: medium
▸ 3 reusable components found
testcontainers/testcontainers-java ★ 8751 1941 APPLICATION

Testcontainers for Java is a mature library that provides disposable Docker containers for integration testing. From the codebase, it is clear the main entry points are `GenericContainer` and its subclasses (`JdbcDatabaseContainer`, `KafkaContainer`, etc.), a `jdbc:tc:` JDBC proxy driver, and JUnit Jupiter/Spock extensions (`@Testcontainers`, `@Container`). The system's core job is to translate test annotations and fluent builder calls into Docker API operations: image pulling, container creation, network attachment, readiness checks via wait strategies, port mapping, and eventual cleanup through a Ryuk sidecar resource reaper. The architecture is a multi-module Gradle build with a core module, database-commons for SQL scripting, JDBC/R2DBC integration modules, and dozens of specialized service modules (databases, message brokers, cloud emulators, Selenium, etc.). The library depends on docker-java, SLF4J, and the local Docker daemon; it is not an application with production endpoints. There is no data/research component — all SQL scripts and data files are test fixtures. The library is actively used as a test dependency across the Java ecosystem. Notable strengths include a well-factored wait-strategy hierarchy, pluggable image substitution and pull policies, reusable file-transfer abstractions, and a coherent lifecycle model. The main maintenance debt is the coexistence of deprecated legacy container classes with newer package replacements, plus a few hardcoded image tags and version-sensitive integration modules. Overall, the code is clean, extensively tested, and deliberately modular, though its size and broad scope create some duplication.

RATING: 9.2/10 MAINT: active DRIFT: low
▸ 4 reusable components found
thoughtbot/factory_bot ★ 8167 2554 APPLICATION

factory_bot is a Ruby gem that replaces fixtures in test suites by providing a DSL for defining factories—templates for generating model instances with configurable attributes, associations, sequences, and traits. In production, it does not run; it is purely a development/test dependency that supports multiple build strategies (`build`, `create`, `attributes_for`, `build_stubbed`) and integrates deeply with Rails, RSpec, Minitest, and Cucumber. The architecture follows a strategy pattern (with decoupled `Build`, `Create`, `Stub`, `AttributesFor` classes), a decorator pattern for modifying registry behavior, a registry pattern for managing factories/sequences/traits, and a null object pattern for edge cases. Key entry points are `FactoryBot.define`, `FactoryBot.build`, `FactoryBot.create`, and the `FactoryBot.lint` validator. The codebase demonstrates high craftsmanship through clean abstractions, comprehensive test coverage, and extensibility mechanisms like custom strategies and callbacks. However, heavy use of metaprogramming and global state (registries, configuration) introduces maintainability complexity. Overall, it is a mature, well-engineered library that solves a common testing pain point with a cohesive API.

RATING: 9.2/10 MAINT: active DRIFT: low
▸ 3 reusable components found
kotest/kotest ★ 4789 700 APPLICATION

Kotest is a comprehensive, multiplatform testing framework for Kotlin, providing a rich assertion library, property-based testing, multiple spec styles (FunSpec, StringSpec, WordSpec, etc.), a modular test engine, and extensive extension system (Spring, Testcontainers, Allure, etc.). It includes IntelliJ IDEA plugin for gutter icons, test navigation, and run configurations, as well as Gradle plugin for build integration. The framework is well-architected with clean abstractions like the Matcher interface, Arb/Gen combinators, and test execution interceptors, though some deprecated APIs and experimental features indicate ongoing evolution.

RATING: 9.2/10 MAINT: active DRIFT: medium
▸ 4 reusable components found
testing-library/jest-dom ★ 4600 425 APPLICATION

This repository is the `@testing-library/jest-dom` library, a widely-used collection of custom Jest matchers for asserting the state of DOM elements in tests. It provides over 30 matchers such as `toBeVisible`, `toBeDisabled`, `toHaveAttribute`, `toHaveFormValues`, and `toHaveAccessibleName`, enabling declarative and readable test assertions. The library is designed to work with Jest, Vitest, Bun, and any Jest-compatible `expect` interface, with dedicated entry points for each. It leverages dependencies like `aria-query` and `dom-accessibility-api` to support accessibility-related matchers, and `@adobe/css-tools` for CSS style assertions. The codebase is well-structured, with each matcher in its own file, a shared utility module, and a factory pattern for generating query-based matchers (`toContainAnyBy*` / `toContainOneBy*`). Comprehensive tests and TypeScript type definitions are included. The library is actively maintained with frequent releases and a large contributor base.

RATING: 9.2/10 MAINT: active DRIFT: low
▸ 5 reusable components found
adamchainz/time-machine ★ 1000 53 APPLICATION

The time-machine library is a Python package designed to mock system time in tests by patching the datetime and time modules at the C level. It provides a versatile API that can be used as a context manager, decorator, or pytest fixture, allowing developers to set a fixed time or simulate time progression. The library supports timezone handling, nesting of time travel contexts, and an escape hatch to access the real time when needed. Additionally, it includes a command-line tool to assist in migrating from the popular freezegun library. The core innovation lies in the C extension (_time_machine.c), which directly manipulates the function pointers of the datetime and time modules to replace them with custom implementations. This approach ensures high performance and comprehensive mocking, affecting all references to these functions throughout the Python process. The Python layer manages the state of active time travels, handles timezone settings via the TZ environment variable, and provides a rich set of features for controlling the simulated time, such as moving to different timestamps or shifting by a delta. The project demonstrates strong engineering practices with comprehensive test coverage, modern development tooling (including pre-commit hooks, linting, and type checking), and careful consideration of cross-platform compatibility. It maintains backward compatibility while introducing improvements, such as making the dateutil dependency optional and adding controls for interpreting naive datetime values. The CLI tool for migration showcases a practical use of the tokenize_rt library for precise source code transformations, reflecting attention to real-world usability.

RATING: 9.2/10 MAINT: active DRIFT: low
▸ 1 reusable components found
sheredom/utest.h ★ 993 73 APPLICATION

utest.h is a single-header unit testing framework for C and C++ that provides automatic test registration via constructor attributes, sophisticated assertion macros with expression tracking, and cross-platform support. The framework supports basic tests, fixture-based tests, and indexed/parameterized tests. It outputs results in both human-readable console format and machine-readable XML format. The implementation demonstrates high craftsmanship through its platform abstraction layer, memory-safe test registration system, and clever use of compiler-specific features to eliminate boilerplate. The core functionality is entirely self-contained within utest.h with no external dependencies beyond standard libraries.

RATING: 9.2/10 MAINT: active DRIFT: low
▸ 1 reusable components found
clj-commons/etaoin ★ 973 94 APPLICATION

Etaoin is a pure Clojure library that implements the W3C WebDriver protocol for automating major browsers (Chrome, Firefox, Safari, Edge). It provides a comprehensive, idiomatic Clojure API for browser control—navigation, element interaction, JavaScript execution, screenshots, shadow DOM, and more—without requiring Selenium or Java interop. The library also includes a Selenium IDE (.side) file executor, Chrome DevTools performance log parsing, and a rich macro DSL for resource management (with-driver, with-wait, with-postmortem). Internally, it uses multimethod dispatch to handle browser-specific quirks, a generic polling mechanism for waits, and a composable action builder for complex input sequences. The codebase is well-structured, extensively tested across multiple browsers and runtimes (JVM Clojure and Babashka), and provides clj-kondo hooks for linting its macros. It is primarily a library for integration into other projects (UI testing, web scraping, automation), but also offers a CLI entry point for running IDE scripts.

RATING: 9.2/10 MAINT: active DRIFT: low
▸ 3 reusable components found
dotpas/dext ★ 314 54 APPLICATION

The Dext Framework is a comprehensive, modular full-stack framework for Delphi (v11+) designed to bring modern web development patterns to the native Delphi ecosystem. It is Apache 2.0 licensed and provides a coherent set of libraries covering web API construction (minimal APIs, MVC controllers, middleware pipeline, SignalR-compatible real-time hubs), an ORM with code-first migrations, dependency injection, background jobs, event bus, resilience pipeline, testing/mocking utilities, desktop UI patterns (MVU/MVVM with VCL binding), AI integration (MCP server, agent graph), CLI tooling, and telemetry/dashboard. The architecture is heavily inspired by ASP.NET Core/EF Core, with fluent builders (`TDextServices`, `TApplicationBuilder`), specification pattern, attribute-based configuration, and a focus on zero-allocation performance (custom SIMD-optimized collections, ring-buffer logging, direct codecs). It includes extensive documentation (The Dext Book in English and Portuguese), benchmark harnesses, and 40+ example applications covering real-world use cases from simple CRUD to multi-tenant e-commerce. The codebase is actively maintained, with multi-version Delphi support (XE2 through 13), community database drivers (UniDAC), and a growing ecosystem of IDE integration and design-time tooling.

RATING: 9.2/10 MAINT: active DRIFT: low
▸ 5 reusable components found
EndlessCheng/codeforces-go ★ 8674 821 APPLICATION

EndlessCheng/codeforces-go is a comprehensive collection of competitive programming solutions and algorithm templates written in Go. The repository provides reusable implementations of data structures (e.g., segment trees, fenwick trees, treaps, suffix automata) and algorithms (e.g., Aho-Corasick, various math functions) in the copypasta directory. It also includes a test harness (main/testutil) for verifying solutions against sample inputs and outputs, along with code generators to automate test file creation. Each solution is typically a standalone Go program that reads from standard input and writes to standard output, following the typical format for online judge submissions. The repository is organized by problem source (LeetCode, Codeforces, AtCoder, etc.) and difficulty, making it a valuable reference for learning and practicing competitive programming.

RATING: 9.1/10 MAINT: maintained DRIFT: low
▸ 5 reusable components found
ets-labs/python-dependency-injector ★ 4917 353 APPLICATION

This repository is the **Dependency Injector** library for Python, a mature and widely-used dependency injection (DI) and inversion-of-control (IoC) framework. It provides a comprehensive set of provider types (Factory, Singleton, Resource, Configuration, etc.), declarative and dynamic containers for organizing providers, and a wiring mechanism that automatically injects dependencies into functions and methods using the `@inject` decorator and `Provide`/`Closing` markers. The library is designed to decouple application components, improve testability, and manage configuration and resource lifecycles in a structured way. The core implementation is written in Cython (`.pyx` files) for performance, with pure-Python fallbacks and type stubs. The architecture is modular: providers are composable building blocks, containers assemble them, and wiring connects them to application code. The library integrates with popular web frameworks (FastAPI, Flask, Django, Aiohttp, Sanic, Starlette) and supports both synchronous and asynchronous modes. It also includes a configuration provider that can load settings from YAML, JSON, INI, environment variables, Pydantic models, and plain dictionaries, with environment variable interpolation and type casting. Key entry points are the `Provider` hierarchy (e.g., `Factory`, `Singleton`, `Resource`), `DeclarativeContainer` and `DynamicContainer` classes, and the `inject` decorator from the wiring module. The library is primarily a development dependency used at build/import time to wire up application components. It has no runtime external dependencies beyond Python itself, though optional integrations (Flask, Aiohttp, etc.) require those frameworks. The extensive test suite and documentation make it a reliable choice for projects needing explicit dependency management.

RATING: 9.1/10 MAINT: active DRIFT: low
▸ 4 reusable components found
lk-geimfari/mimesis ★ 4840 361 APPLICATION

Mimesis is a Python library for generating high-quality, locale-aware fake data, intended for use in testing, database seeding, API mocking, and data anonymization. Unlike simpler lorem-ipsum generators, it produces realistic names, addresses, dates, financial data, internet-related strings, and more, across 47 locale variants. The architecture is modular: locale-independent and locale-dependent providers (e.g., Person, Address, Internet) load curated JSON datasets, while a suite of schema tools (Field, Fieldset, Schema, SchemaBuilder) allows declarative generation of flat or relational synthetic datasets with lazy evaluation, dependency resolution, and export to CSV/JSON/pickle. A custom Random class with weighted selection and deterministic seeding ensures reproducibility, and optional plugins integrate with factory_boy and pytest-randomly. The codebase is well-structured, extensively typed (mypy strict), and thoroughly tested, with a strong emphasis on performance (~20-30x faster than comparable libraries like Faker). External runtime dependencies are minimal; the only optional ones are pytz and factory-boy.

RATING: 9.1/10 MAINT: active DRIFT: low
▸ 3 reusable components found
microcks/microcks ★ 2036 362 APPLICATION

Microcks is a cloud-native API mocking and testing platform that ingests API specifications (OpenAPI, AsyncAPI, gRPC, GraphQL, Postman, SoapUI, HAR, and protobuf) and dynamically generates live mock endpoints and contract conformance tests. It supports REST, SOAP, GraphQL, gRPC, and asynchronous protocols (Kafka, RabbitMQ, MQTT, NATS, WebSocket, Amazon SQS/SNS, Google PubSub). The architecture consists of a main Spring Boot web application with an Angular frontend, a separate Quarkus-based async minion for event-driven mocking and testing, and optional dependencies on MongoDB, Keycloak, Kafka, and external message brokers. The system provides a rich set of features: dynamic response dispatching based on request parameters, scriptable mocks (Groovy/JavaScript), a template engine for dynamic content, SLA management, webhook notifications, AI-assisted sample generation via OpenAI, and OpenTelemetry-based observability. It is a well-engineered, modular project with extensive test coverage and a clean separation of concerns.

RATING: 9.1/10 MAINT: active DRIFT: low
▸ 5 reusable components found
ionic-team/ionic-framework ★ 52686 13304 APPLICATION

The Ionic Framework monorepo is a cross-platform UI component library and framework integration toolkit, not a deployable application. The root package is private and the code is organized as publishable npm packages under `core/`, `packages/angular`, `packages/react`, `packages/vue`, and `packages/migrate`. Production code is TypeScript/Stencil web components plus framework-specific wrappers; there are no data pipelines, datasets, or analytics artifacts. Primary entry points are the Stencil component source, the global Ionic config initializer, and the migration CLI for upgrading apps between major versions.

RATING: 9.0/10 MAINT: active DRIFT: medium
▸ 5 reusable components found
usebruno/bruno ★ 47369 2954 APPLICATION

Bruno is a comprehensive API client and testing tool built with Electron, React, and Redux. It provides a full-featured interface for creating, sending, and analyzing HTTP/WebSocket/gRPC/GraphQL requests, similar to Postman but with an open-source core. The application features a modular architecture with separate packages for the GUI (bruno-app), Electron main process (bruno-electron), CLI (bruno-cli), request handling (bruno-requests), file storage (bruno-filestore), and shared utilities (bruno-common). Key capabilities include environment and variable management with secure secret handling, pre-request and test scripting using a custom BruJS runtime, collection organization and workspaces, import/export from formats like Postman, OpenAPI, and Insomnia, mock server functionality, and code generation from requests. The UI uses styled-components for theming with light/dark/system themes, and incorporates advanced features like AI-assisted request building and OpenAPI synchronization. The codebase demonstrates strong engineering practices with extensive unit and end-to-end testing, TypeScript throughout, and a clean separation of concerns between the main and renderer processes via IPC. Notable reusable components include a secure variable interpolation system, cross-platform detection utilities, persistent state hooks, and a worker-offloaded file format parser.

RATING: 9.0/10 MAINT: active DRIFT: low
▸ 5 reusable components found
alan2207/bulletproof-react ★ 35917 3260 APPLICATION

This repository is a reference architecture for building production-ready React applications, implemented as a monorepo containing three distinct application templates: Next.js App Router, Next.js Pages Router, and Vite. It serves as a comprehensive guide for scalable project structure, demonstrating best practices in state management (Zustand for client state, TanStack Query for server state), testing (Vitest, Playwright, MSW), and security (JWT, RBAC). The codebase prioritizes strict TypeScript usage, unidirectional data flow, and feature-based colocation. The system functions as a boilerplate and educational tool rather than a standalone product. It provides a complete development environment including UI component libraries (Radix UI + Tailwind), form handling (React Hook Form + Zod), and API abstraction layers. The architecture is designed to be copy-pasted into new projects, with the three app implementations serving as comparative examples for different React rendering strategies. Key operational patterns include a centralized API client with Axios interceptors for authentication and error handling, a mock backend service using MSW and @mswjs/data for local development and testing, and a robust authorization system that enforces role-based access control at the component and route levels. The codebase is heavily instrumented with tests and documentation to ensure maintainability and adherence to the defined architectural standards.

RATING: 9.0/10 MAINT: active DRIFT: low
▸ 3 reusable components found
$ loading more...
$ submit: