571 repositorios
Librerías para pruebas unitarias, basadas en propiedades y automatizadas.
Explore 571 awesome GitHub repositories matching part of an awesome list · Frameworks de pruebas. Refine with filters or upvote what's useful.
Este proyecto es un repositorio centralizado de acceso abierto que sirve como directorio estructurado para la educación técnica y el desarrollo profesional. Funciona como una base de conocimientos impulsada por la comunidad, agregando materiales de aprendizaje de alta calidad para apoyar la accesibilidad global a los recursos de ciencias de la computación e ingeniería de software. La plataforma se distingue por un modelo de gobernanza colaborativa que utiliza flujos de trabajo revisados por pares para todas las adiciones y modificaciones de contenido. Al aprovechar archivos de texto estructurados y control de versiones descentralizado, el repositorio mantiene un índice legible por humanos y buscable que se actualiza y categoriza continuamente mediante el etiquetado de metadatos impulsado por la comunidad. La colección abarca una amplia gama de activos educativos, incluyendo literatura técnica completa, cursos en línea estructurados y tutoriales de programación interactivos. Los usuarios pueden acceder a recursos para la adquisición de habilidades, preparación de entrevistas y referencia rápida de sintaxis, con contenido organizado por lenguaje de programación, dominio técnico y lenguaje humano para facilitar el estudio autodirigido.
A massive directory of free programming books and learning resources.
Este proyecto es una serie educativa integral diseñada para proporcionar una comprensión técnica profunda del lenguaje de programación JavaScript. Funciona como un plan de estudios de varios volúmenes que guía a los desarrolladores a través de los mecanismos centrales, los modelos de ejecución y las especificaciones subyacentes que definen cómo opera el lenguaje a un nivel fundamental. El plan de estudios se distingue por centrarse en la arquitectura interna del lenguaje en lugar de la sintaxis superficial. Proporciona un análisis riguroso de temas complejos como el ámbito léxico (lexical scope), la encapsulación de estado basada en cierres (closures), la herencia basada en prototipos y la mecánica del bucle de eventos (event loop). Al explorar cómo el motor gestiona los contextos de ejecución y los entornos de variables, la serie permite a los desarrolladores navegar por los matices de los sistemas de tipos dinámicos y la coerción implícita con mayor previsibilidad. El material cubre todo el espectro de los fundamentos del lenguaje, incluidos los patrones orientados a objetos, los flujos de ejecución asíncronos y las reglas gramaticales que rigen la transformación de datos. Estos recursos están estructurados para ayudar a los profesionales a pasar del uso básico al dominio de los aspectos internos del lenguaje, apoyando en última instancia el desarrollo de software más eficiente y fácil de mantener. El contenido está disponible como una serie de manuales técnicos y guías conceptuales destinados al estudio sistemático.
Deep-dive book series on core JavaScript language mechanisms.
Puppeteer is a JavaScript library for programmatically controlling Chrome and Firefox through the Chrome DevTools Protocol or the WebDriver BiDi protocol. It launches and manages browser instances—typically without a visible user interface—to automate interactions with web pages, enabling navigation, clicking, typing, and data extraction entirely through code. The library distinguishes itself through deep integration with the Chromium embedding layer, allowing fine-grained process configuration with custom flags, permissions, and sandbox policies. It maintains multiple concurrent command stre
Headless Chrome browser automation for testing and scraping.
Puppeteer is a browser automation library that provides a programmatic interface for controlling web browsers to execute tasks, simulate user interactions, and perform end-to-end testing. It functions as a headless browser controller, managing browser lifecycles, isolated session contexts, and remote connections to facilitate stable, automated web-based workflows. The library distinguishes itself through its deep integration with the Chrome DevTools Protocol, utilizing a bidirectional message bus to execute commands and receive real-time event notifications. It supports advanced automation pa
Headless Chrome browser automation.
Playwright is a comprehensive browser automation framework designed for end-to-end testing and web workflow automation. It provides a unified API to drive web applications across multiple browser engines, enabling developers to simulate complex user interactions, perform web scraping, and validate application behavior in consistent, isolated environments. The framework distinguishes itself through a web-first testing paradigm that prioritizes stability and resilience. By utilizing an auto-waiting actionability engine and accessibility-tree-based locators, it eliminates common sources of test
Cross-browser automation framework for modern web applications.
json-server is a development toolset used to simulate a full REST API from a JSON file. It functions as a customizable mock API server that allows for the simulation of CRUD operations and resource relationships without the need to write backend code. The project enables rapid prototyping by generating a fake backend that persists data changes back to a local JSON file. It distinguishes itself by providing a static asset file server to deliver local documents, images, and stylesheets alongside the mock API endpoints. The server includes capabilities for data querying, such as parameter-based
Zero-code REST API mock server.
Cypress is a browser-based testing framework designed for writing and running automated tests directly inside the browser. It serves as an end-to-end testing framework, a frontend component testing tool, and a web application test runner. The project also functions as a headless browser automation tool and a network traffic interceptor. The system differentiates itself by executing test code within the same browser process as the application, allowing for direct access to the DOM. It includes a network traffic interception system to stub and manipulate browser requests, as well as a graphical
Fast and reliable E2E testing.
Jest is a JavaScript testing framework that integrates a test runner, an assertion library, and a snapshot testing tool. Its primary purpose is to provide a comprehensive environment for writing and running automated JavaScript tests to verify software correctness. The framework is distinguished by its snapshot testing capabilities, which capture the state of large objects or rendered components to detect regressions over time. It also features a reactive watch mode that monitors file changes and automatically executes only the tests related to modified code. The project covers a broad range
Zero-config unit testing framework.
Este proyecto es un marco de pruebas unitarias de C++ integral diseñado para verificar la lógica del código e identificar regresiones a través de un conjunto de macros de aserción, accesorios de prueba (fixtures) y ejecutores de ejecución. Automatiza el descubrimiento y registro de casos de prueba durante la inicialización estática, lo que permite a los desarrolladores definir entornos de prueba aislados que garantizan condiciones repetibles y predecibles para cada ejecución. El marco se distingue por una sofisticada biblioteca de objetos simulados (mock) que permite la simulación de componentes y la aplicación de requisitos de interacción estrictos. Al interceptar llamadas a métodos virtuales, permite una validación precisa de patrones de argumentos, recuentos de llamadas y comportamientos de retorno. Este enfoque basado en expectativas se complementa con un lenguaje de aserción declarativo y un motor basado en datos, que juntos admiten la validación compleja de estructuras de datos, contenidos de contenedores y resultados de funciones en diversas configuraciones de entrada. Más allá de la verificación central, el proyecto proporciona un monitoreo extenso del ciclo de vida e interfaces de escucha de eventos, lo que permite la integración con sistemas externos de informes y registro. Incluye un soporte sólido para la generación de pruebas parametrizadas, extensiones de simulación personalizadas y verificación de terminación de procesos, asegurando que los desarrolladores puedan manejar diversos escenarios de prueba y requisitos de validación únicos. El marco se integra directamente en los sistemas de compilación estándar, gestionando las dependencias del proyecto y las configuraciones del compilador para mantener la coherencia en todos los entornos de desarrollo. Se distribuye como una biblioteca basada en código fuente que utiliza archivos de configuración estándar para automatizar la configuración del entorno y la ejecución de binarios de prueba.
Provides a C++ test framework.
Selenium is a comprehensive browser automation framework that provides a standardized interface for controlling web browsers to perform automated tasks, user interactions, and data extraction. It functions as a cross-browser testing tool, enabling developers to execute identical automation scripts across various browser engines and operating systems to ensure consistent application behavior. By implementing the WebDriver protocol, it maps high-level automation commands to browser-specific drivers using a standardized HTTP-based wire protocol. The project distinguishes itself through its distr
Standardized browser automation framework for cross-browser testing.
k6 is a performance testing framework used to measure the scalability and stability of network services and APIs. It functions as a JavaScript load testing tool that uses a Go engine to simulate concurrent user traffic. The tool enables the enforcement of service level objectives by comparing response time percentiles against quantitative performance thresholds. It also operates as a performance regression tool for continuous integration pipelines and a browser performance testing tool that executes scripts within a bundled headless browser instance. Its capabilities cover workload scenario
JS-scriptable load-testing tool for CI/CD pipelines.
PhantomJS is a scriptable, headless browser engine based on WebKit that provides a programmatic interface for automating web page interactions. It operates without a graphical user interface, allowing for the execution of JavaScript to navigate pages, manipulate the document object model, and perform functional testing of web applications. The tool distinguishes itself by providing low-level control over the browser rendering lifecycle and network stack. It enables real-time interception and modification of network traffic, alongside the ability to generate visual snapshots and document expor
Scriptable Headless WebKit.
Locust is a distributed performance testing framework that allows users to define complex system stress scenarios using standard Python code. By modeling concurrent users as classes with weighted tasks and lifecycle hooks, it enables the simulation of realistic user behavior across large-scale environments. The tool functions as a scalable load generator capable of orchestrating traffic across multiple worker nodes to measure system stability and responsiveness under heavy, real-world conditions. The framework is distinguished by its protocol-agnostic architecture, which supports diverse comm
Scalable user load testing tool.
Testify is a comprehensive testing toolkit for Go that provides a suite of assertion libraries and mocking frameworks to validate code behavior. It enables developers to write automated tests by comparing actual results against expected outcomes, ensuring that functional requirements are met throughout the development process. The project distinguishes itself through its flexible failure propagation, which allows tests to either halt execution immediately upon a failed requirement or return boolean results for conditional logic. It includes deep-equality object comparison and JSON normalizati
Extension for the standard testing package.
Mocha is a JavaScript test runner and framework designed to execute automated test suites across multiple runtimes, including Node.js and web browser environments. It functions as a pluggable testing tool for organizing and validating unit, integration, and functional tests. The project distinguishes itself through a plugin-based extension interface that allows for custom functionality and reporting. It supports a multi-runtime approach, enabling the same test suite to run in different JavaScript environments, and includes a watch mode that monitors the filesystem to trigger automatic test re
Flexible testing framework for Node and browsers.
Ava is a concurrent test runner for Node.js that executes test files in parallel using worker thread isolation to prevent global state leakage. It functions as a TAP-compliant tool, exporting results via the Test Anything Protocol for integration with external reporting systems. The framework distinguishes itself through a focus on execution speed and clarity, utilizing worker threads to run multiple test files simultaneously across CPU cores. It includes stack trace simplification to filter out internal framework noise and a value comparison utility that provides syntax-highlighted diffs for
Futuristic test runner for JavaScript.
Ava is a test runner for JavaScript and TypeScript designed to execute test suites with a focus on concurrency and isolation. It serves as a concurrent test executor that runs test files in parallel across multiple processes to reduce total runtime and prevent state leakage between suites. The project features a built-in snapshot testing framework that saves large data structures to disk and compares subsequent executions to detect regressions via diffs. It is also compatible with the Test Anything Protocol, allowing it to export results for use with external reporting tools. Its capability
Futuristic, high-performance test runner.
Catch is a C++ testing toolset providing frameworks for unit testing, behavior-driven development, and micro-benchmarking. It serves as a utility for software quality assurance and test-driven development, allowing developers to validate code correctness and measure the execution time of small code fragments. The project features a header-only distribution, enabling integration by including a single file. It utilizes expression-decomposition assertions to provide detailed failure messages and employs a self-registering test discovery system that uses macros to register test cases without manu
Unit testing framework.
Catch2 is a comprehensive framework for C++ software validation, providing an environment for unit testing, integration verification, and performance analysis. It enables developers to define and execute automated test suites and micro-benchmarks directly within their applications. The framework is distinguished by its header-only distribution, which allows for integration into existing build systems without requiring complex external dependencies. It utilizes a hierarchical section-based execution model that supports behavior-driven testing, allowing for shared setup and teardown logic acros
Unit testing framework.
Nightmare is an Electron-based browser automation library and headless browser controller. It provides the infrastructure to programmatically navigate web pages, interact with DOM elements, and execute JavaScript within a background browser instance. The project distinguishes itself by integrating a full Chromium instance within an Electron shell, allowing for the management of browser sessions, network proxy settings, and persistent storage partitions. It enables the capture of page states as PNG screenshots, PDF documents, or HTML files. The tool covers a broad range of capabilities includ
High-level browser automation library for end-to-end testing.