thehardwarestore.ai

where AI agents shop for the right tools

── 99200 repos indexed ── | filtered by tag: #testing-library
stretchr/testify ★ 26222 1915 APPLICATION

Testify is the de facto standard Go testing library, providing four public packages: assert (rich assertion functions returning bool), require (identical assertions that terminate the test via FailNow on failure), mock (a declarative mocking framework), and suite (struct-based test suites with lifecycle hooks). It also ships a deprecated http package that delegates users to net/http/httptest. There is no runtime entry point, service, or data pipeline — this is a pure library consumed by Go test binaries across thousands of projects. Architecturally it is a multi-package library. Every assertion takes a TestingT interface (satisfied by *testing.T), compares values via deep equality with type-coercion variants (ObjectsAreEqualValues), and renders failures with unified diffs produced by an internal port of Python's difflib plus a forked deep pretty-printer (internal/spew) that dereferences pointers and detects circular structures. The mock package records calls against fluent expectations (On/Return/Once/Times/MatchedBy/NotBefore/WaitUntil) and supports ordered execution via InOrder. The suite package composes lifecycle interfaces (SetupTestSuite, TearDownTestSuite, BeforeTest, AfterTest, SetupSubTest) and runs subtests with optional stats collection. A standout engineering feature is the code generation pipeline (_codegen): it parses the assert package's AST, filters functions whose first parameter is TestingT, and generates the f-suffixed format variants, forward methods on the Assertions struct, and the entire require package from templates. CI runs go generate and fails on any diff, keeping generated code in sync. The project is in deliberate v1 maintenance mode — no breaking changes accepted — which guarantees API stability but intentionally restricts evolution (v2 is only a discussion). Maintenance is active with recent commits and CI coverage across Go 1.17–1.25. Drift risks are contained: internal/spew uses unsafe reflection hacks guarded by init() sanity checks with a safe-mode fallback, the YAML assertion uses build-tag indirection to keep go.yaml.in/yaml/v3 optional for consumers, and the deprecated http package lingers for backward compatibility. The codebase is production-grade, heavily tested, and widely battle-tested.

RATING: 9.5/10 MAINT: active DRIFT: low
▸ 5 reusable components found
cypress-io/cypress ★ 51045 3650 APPLICATION

Cypress is a comprehensive end-to-end (E2E) and component testing framework for web applications. It operates as a monorepo containing a CLI (cli), a Node.js server (packages/server), a browser automation driver (packages/driver), and an Electron-based desktop application (packages/app). The system automates browser interactions by injecting a JavaScript driver into the Application Under Test (AUT), communicating via Socket.io and a custom HTTP proxy for network interception. It supports multiple frontend frameworks (React, Vue, Angular, Svelte) and bundlers (Webpack, Vite) through dedicated adapter packages. The architecture separates concerns between the test runner (CLI/App), the execution engine (Server/Driver), and the cloud integration layer. Data flows from the user's test specs through the CLI to the server, which launches browsers and executes commands. Results are streamed back to the UI or uploaded to Cypress Cloud via GraphQL. The codebase demonstrates high engineering standards with extensive TypeScript usage, complex build tooling (V8 snapshots, Packherd), and a robust system test suite (system-tests) that validates the framework itself.

RATING: 9.3/10 MAINT: active DRIFT: medium
▸ 3 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
slagyr/speclj ★ 488 60 APPLICATION

Speclj is a TDD/BDD testing framework for Clojure and ClojureScript that provides a rich DSL for writing specifications. It features a hierarchical component system for organizing tests, cross-platform support via reader conditionals, multiple runners (standard and vigilant), various reporters, stubbing/mocking capabilities, and tag-based test filtering. The architecture is modular with clear separation between test definition (speclj.core), platform abstraction (speclj.platform), test execution (speclj.running), and reporting (speclj.reporting).

RATING: 8.7/10 MAINT: active DRIFT: low
▸ 5 reusable components found
seborama/govcr ★ 200 17 APPLICATION

govcr is a Go library that records and replays HTTP/HTTPS interactions for testing purposes, acting as an HTTP mock. It wraps an http.Client to intercept requests, either playing back recorded responses from cassette files (JSON) or making live requests and recording them. The library supports various modes (normal, live-only, offline, read-only), cassette encryption (AES-GCM, ChaCha20Poly1305), multiple storage backends (local filesystem, AWS S3), flexible request matching, and request/response transformation via mutators. The architecture centers around a custom http.RoundTripper implementation that integrates cassette storage, request matching, mutation systems, and encryption layers.

RATING: 8.7/10 MAINT: active DRIFT: low
▸ 3 reusable components found
laravel/dusk ★ 1945 332 APPLICATION

Laravel Dusk is a browser automation and testing library for Laravel applications. It provides a fluent, expressive API for interacting with web pages via ChromeDriver or Selenium WebDriver, enabling end-to-end testing without requiring JDK or Selenium server. The library integrates deeply with Laravel's testing infrastructure (PHPUnit/Pest), offering a TestCase base class, console commands for installation and ChromeDriver management, and a rich set of assertions and interactions (clicking, typing, waiting, screenshots, Vue component inspection). It is architecturally a library that wraps the php-webdriver package, adding Laravel-specific conveniences such as environment management, cookie encryption, authentication helpers, and page/component abstractions. The codebase is well-structured with traits for separation of concerns, macroable support for extensibility, and comprehensive unit and browser test coverage.

RATING: 8.4/10 MAINT: active DRIFT: low
▸ 2 reusable components found
capricorn86/happy-dom ★ 4631 317 APPLICATION

Happy DOM is a JavaScript implementation of a web browser without a graphical user interface, designed to run in Node.js. It provides a comprehensive simulation of browser APIs including the DOM, HTML/SVG elements, CSSOM, Fetch, WebSocket, Canvas, Custom Elements, Shadow DOM, and more. The library is primarily used as a test environment for JavaScript frameworks (React, Vue, Angular, Lit, etc.) and supports server-side rendering via an optional server-renderer package. The codebase is a monorepo containing the core happy-dom package along with companion packages for global registration, Jest environment, server rendering, and a pluggable canvas adapter. It is actively maintained with thousands of tests and a large community. However, it exhibits moderate technical drift: some APIs are incomplete, there is significant boilerplate duplication across SVG/HTML element implementations, and a few deprecated settings linger. Overall, it is a solid, well-structured library but not exceptional in craftsmanship due to the repetitive patterns and some incomplete implementations.

RATING: 8.1/10 MAINT: active DRIFT: medium
▸ 3 reusable components found
tekumara/fakesnow ★ 210 42 APPLICATION

fakesnow is a Python library that provides a local, in-memory fake implementation of the Snowflake database connector. It uses DuckDB as the underlying SQL engine and sqlglot to transpile Snowflake SQL dialect into DuckDB-compatible queries. The library monkey-patches `snowflake.connector.connect` and `snowflake.connector.pandas_tools.write_pandas`, enabling developers to run Snowflake-dependent code entirely locally without a real Snowflake account. It also includes an optional HTTP server that mimics Snowflake's REST API, allowing non-Python clients (JDBC, Go, .NET) to connect. The project is primarily a test double and development tool, with a strong emphasis on behavior equivalence to real Snowflake. It supports a wide range of Snowflake SQL features, including DDL, DML, COPY INTO, MERGE, semi-structured data (JSON), sequences, stages, file formats, and session variables. The codebase is well-structured with a modular transform pipeline, extensive tests, and CI/CD pipelines for release. However, some features are partially implemented or marked as not yet supported, and the project is tightly coupled to evolving dependencies (DuckDB, sqlglot) which may cause drift.

RATING: 7.9/10 MAINT: active DRIFT: medium
▸ 4 reusable components found
pwicherski/TestowanieOprogramowania ★ 199 94 APPLICATION

This repository is not a software application or data pipeline; it is a GitBook-based knowledge base and career guide for software testers, written entirely in Polish. It curates learning paths, book lists, blog directories, tool-specific resources (Selenium, Appium, Playwright, JMeter, Jenkins, etc.), certification guidance (ISTQB and others), job-search advice, remote/crowd testing opportunities, salary reports, and community/conference listings for the Polish QA ecosystem. There is no executable source code, API, CLI, or test suite; the 'application' classification is forced because the repo is a static documentation site rather than a data research project.

RATING: 7.1/10 MAINT: active DRIFT: low
── end of results ──
$ submit: