30 open-source projects similar to apiaryio/dredd, ranked by how many features they have in common. Compare stars, activity and what each one does to find the best Dredd alternative.
This project is a comprehensive guide and collection of best practices for testing Node.js backend applications. It provides a curated set of patterns and reference examples for writing reliable unit, integration, and component tests. The project distinguishes itself through specific strategies for backend integration, including detailed methods for API contract testing against OpenAPI specifications and shared schemas. It offers specialized guidance on managing message queue testing, focusing on idempotency, resilience, and asynchronous event synchronization. The guide covers a broad range
Connexion is a specification-driven framework for building APIs that automatically maps OpenAPI specifications to application logic. It uses these specifications to automate routing, request validation, and response serialization, linking API operations to backend handler functions via operation IDs. The project differentiates itself by providing a schema-driven mock server that simulates API behavior using example responses from the specification without requiring backend logic. It also includes a dynamic documentation hosting system that translates the API specification into a live interact
Karate is a Gherkin API testing framework and JVM test orchestrator designed for API validation, workflow automation, and browser automation. It provides a unified environment for executing scriptable logic on the Java Virtual Machine with thread-safe concurrent processing. The project includes a built-in HTTP mock server to simulate backend API behavior by delivering dynamic responses to intercepted requests. It also features a visual regression testing tool that detects interface changes by comparing screenshots against baseline images using pixel-matching analysis. The system supports API
HttpRunner is a multi-protocol network testing framework designed for automating functional and regression tests of HTTP interfaces. It functions as a multi-protocol network tester supporting HTTP/1.1, HTTP/2, WebSocket, TCP, and RPC to validate diverse communication patterns. The project includes specialized engines for API performance testing, data-driven testing, and a test case generator that converts HAR files, curl commands, and Swagger definitions into executable scripts. The framework is distinguished by its ability to separate test logic from business data via a data-driven execution
Node.js is an open-source, cross-platform JavaScript runtime environment built on the V8 engine, designed for executing JavaScript code outside a web browser. It operates as a server-side JavaScript platform with an event-driven, non-blocking I/O architecture that enables building scalable network applications and web servers. The runtime integrates the CommonJS module system for synchronous module loading and the npm ecosystem for sharing and reusing packages. The platform provides comprehensive capabilities for web server development, including creating HTTP and HTTPS servers, managing HTTP
Codeception is a full-stack testing framework for PHP applications that provides a unified interface for unit, functional, and acceptance testing. It serves as a tool for automating real desktop and mobile browsers via the WebDriver protocol and acts as a client for testing REST and SOAP APIs. The framework is distinguished by its support for Behavior-Driven Development, allowing users to write human-readable test specifications in Gherkin language to align technical tests with business requirements. It implements actor-based action mapping to connect these natural language steps to executabl
ReactPHP is an asynchronous runtime and event-driven I/O framework for PHP. It provides an environment for executing concurrent tasks through a central event loop implementation and reactor pattern, allowing applications to handle multiple operations without pausing the main execution thread. The project includes a specialized asynchronous socket library for TCP, UDP, and TLS communication, alongside a non-blocking HTTP server and client for streaming web requests and responses. Its capability surface covers asynchronous control flow via promises and fibers, non-blocking network connectivity
libuv is a cross-platform asynchronous I/O library that provides an abstraction layer for event-driven networking, filesystem operations, and system signals. It utilizes a non-blocking event loop to coordinate asynchronous tasks and I/O events across different operating systems. The project features a unified interface for managing TCP, UDP, and DNS resolution, alongside an inter-process communication layer for sharing sockets via named pipes and Unix domain sockets. To prevent blocking the main execution loop, it includes a multi-platform thread pool for offloading computationally expensive
Spectral is a programmable linting engine and validation tool designed to enforce style guidelines and schema correctness within OpenAPI specifications and JSON configuration files. It functions as a rule-based validator that analyzes structured text files to ensure data consistency and adherence to predefined constraints. The engine utilizes a configuration-driven execution model, allowing users to manage pluggable rule sets and integrate JSON Schema definitions. It supports the creation of custom function-based rules to define complex validation logic beyond static declarations. The projec
This project is a multi-protocol API simulation and mocking system designed to replace external dependencies during development and testing. It provides an API mocking server, a network traffic proxy, and specialized simulators for language model services and identity providers. The system distinguishes itself through deep AI simulation capabilities, including the emulation of language model providers and Model Context Protocol servers using JSON-RPC 2.0. It supports multi-turn conversational logic, state tracking for AI chat APIs, and the visualization of agent execution through call graphs
Prism is a set of tools for generating mock servers and validation proxies based on OpenAPI specifications or Postman collection files. It serves as an API contract testing tool to verify that API implementations adhere to formal contracts. The project provides an OpenAPI mock server that simulates API responses and a validation proxy that checks live HTTP traffic against an OpenAPI specification to identify implementation discrepancies. It also includes a mock server capable of mimicking API behavior based on exported Postman Collection files. The tool covers API behavior simulation and tra
MeterSphere is a continuous testing platform that provides a suite of tools for automating interface, performance, and functional tests within a delivery pipeline. It functions as a comprehensive system for managing the testing lifecycle, from initial case planning and execution to defect tracking and reporting. The platform distinguishes itself through the use of large language models to automatically generate functional and interface test cases from requirements. It also features a distributed performance testing engine that coordinates pools of hardware and software resources to execute hi
This project provides the core framework and system API layer for the Android operating system. It consists of the fundamental Java and C++ libraries that define system behavior and establish the interface contracts required for system applications and hardware abstraction. The project includes a runtime optimizer used to reduce startup time and improve execution speed by pre-compiling methods and configuring boot images. It also features a software quality toolchain that enforces code formatting, audits commit metadata, and manages API compatibility to ensure stable interface contracts acros
TodoMVC is a web application specification and a JavaScript framework comparison suite. It provides a standardized set of requirements used to generate feature-complete task-tracking applications across different languages and frameworks, serving as a frontend architectural reference. The project functions as a behavioral test suite and a cross-framework benchmark. It allows for the evaluation of frontend libraries by comparing identical application implementations to analyze differences in syntax, coding patterns, and functional capabilities. The suite covers broad capability areas includin
TestCafe is a Node.js end-to-end web testing framework used to automate browser tests with JavaScript or TypeScript. It serves as a cross-browser testing tool and a command-line execution engine designed for integration into continuous integration pipelines. The framework supports behavior-driven development by mapping human-readable Gherkin syntax to automation logic. It also includes an integrated web accessibility auditor to identify violations within web applications. The toolset covers a broad range of automation capabilities, including parallel test execution across multiple browser in
Odin is a compiled, statically typed systems programming language designed for high-performance software development. It focuses on pragmatic low-level memory control, providing a toolset for manual memory management and precise control over hardware utilization. The language is distinguished by its flexible memory model, which includes custom allocators and precise data layout capabilities to optimize resource usage. It features a comprehensive foreign function interface for importing assembly files and linking with external libraries using configurable calling conventions. The type system
Schemathesis is a property-based testing tool and fuzzer for schema-based APIs. It analyzes OpenAPI and JSON Schema specifications to automatically generate test cases that identify crashes, schema violations, and validation bypasses. The project functions as a contract validator and security scanner, verifying that a live server strictly adheres to its defined specifications. The framework distinguishes itself through stateful API testing, which chains multiple related requests together to uncover bugs that only emerge during complex, multi-step user workflows. It also utilizes response-driv
Pester is a PowerShell testing framework and behavior-driven development tool used to write and run automated tests for scripts and modules. It defines and verifies software behavior through human-readable specifications to validate that code behaves as expected. The project includes a native mocking library that replaces real functions and commands with controlled implementations, allowing for the isolation of code and verification of command invocations without altering the system environment. It also functions as a code coverage tool that measures the percentage of executed lines during te
Maestro is a declarative mobile and web UI automation framework designed for end-to-end testing. It operates by querying the native accessibility tree of an application, allowing for black-box testing without requiring source code instrumentation or platform-specific dependencies. The framework distinguishes itself through a unified command syntax that abstracts interactions across Android, iOS, and web environments. It features a dynamic synchronization engine that automatically pauses test execution to account for non-deterministic animations and network-dependent content loading, ensuring
Yaak is a cross-platform desktop client and command-line utility designed for developing, testing, and debugging API endpoints. It supports multi-protocol request execution for REST, GraphQL, and gRPC services, providing a unified environment for managing network interactions, authentication credentials, and automated testing workflows. The tool distinguishes itself through a local-first architecture that stores all workspace configurations and request definitions directly on the filesystem. This design enables native integration with version control systems like Git, allowing teams to track
Goss is a declarative system validation framework that verifies server state by comparing live system attributes against YAML specifications. It checks the state of packages, ports, services, files, users, processes, DNS records, kernel parameters, mounts, network interfaces, and HTTP endpoints, reporting pass or fail for each condition. The tool distinguishes itself through several automation capabilities. It can scan a running system to automatically generate YAML baseline files that capture current resource configurations, eliminating the need to write tests from scratch. A retry-with-time
The Swift OpenAPI Generator is a build-time tool that produces type-safe Swift client and server code directly from OpenAPI specification documents. By integrating with build systems through native plugins, it automates the creation of strongly-typed interfaces and protocol stubs that map network operations to native methods, ensuring that application code remains strictly consistent with defined data schemas. The project distinguishes itself through a protocol-oriented architecture that decouples business logic from specific transport implementations. It utilizes a pluggable transport layer
This is a comprehensive library of code examples and reference implementations for building cross-platform user interfaces with Flutter. The project provides a collection of demo applications and guides designed to illustrate the implementation of design patterns, animation techniques, and testing workflows. The repository features specific demonstrations for native integration, including examples of embedding modules into existing native applications, using platform channels, and bridging native code with the framework. It also serves as an animation reference, providing implementations for
Forever is a process manager and command-line utility designed to run scripts continuously. It functions as a process watchdog that monitors background tasks and automatically restarts them upon failure to ensure continuous operation. The system provides a log streaming tool to capture and monitor the standard output and error streams of managed scripts in real time. It also includes development hot reloading, which triggers a process restart whenever modifications are detected in source files or specified directories. The tool covers a broad range of orchestration capabilities, including pr
libinput-gestures is a Linux input event daemon and touchpad gesture mapper that translates libinput events into shell commands or keyboard shortcuts. It functions as a background process that monitors raw input signals to automate workflows and execute system actions based on a user-defined configuration file. The tool allows for the mapping of multi-finger swipes and hold gestures to specific terminal commands or desktop workspace navigation. It differentiates between actions by filtering for finger counts, swipe directions, and the duration of hold gestures. The system integrates with sys
This project is a cross-platform desktop application that serves as a graphical wrapper for the youtube-dl command line tool. It functions as a web media extractor and batch video downloader, allowing users to save video files, audio tracks, subtitles, and metadata from supported online platforms. The application provides a visual interface to manage download quality, output formats, and file naming. It supports the retrieval of restricted or private content through browser cookie files, basic authentication, or video passwords. The software includes capabilities for bulk playlist archiving
Mockserver is a multi-protocol mock server and API verification proxy used to simulate HTTP, gRPC, and WebSocket endpoints. It functions as a tool for testing client applications without relying on live backend services, providing a system to simulate chat completions and streaming responses for large language model integrations. The project automates behavior by generating request expectations and response behaviors from OpenAPI and Swagger specification files. It differentiates itself through a network traffic simulator that introduces latency, dropped connections, and failures to verify ho
npm-run-all is a command-line and programmatic tool for running multiple npm scripts in sequence, parallel, or mixed combinations without requiring an external task runner. It provides a straightforward way to orchestrate complex multi-step build or test workflows directly from the terminal or from within Node.js application code. The tool distinguishes itself by supporting mixed execution plans that combine sequential and parallel steps into a single command, allowing users to define dependency graphs where some scripts run concurrently while others wait for completion. It manages child-proc
Maven is a Java build automation tool and software build orchestrator. It functions as a project lifecycle manager and dependency management system, using a standardized project object model to compile, test, and package Java projects. The project distinguishes itself through a phase-based build lifecycle and a plugin-based extension model, allowing users to bind custom goals to specific build stages. It coordinates complex software through multi-module project orchestration and ensures a reproducible build workflow by neutralizing environmental variables and controlling toolchain versions.