16 dépôts
Tools for measuring and reporting test suite coverage.
Explore 16 awesome GitHub repositories matching part of an awesome list · Code Coverage. Refine with filters or upvote what's useful.
gstack is an AI agent framework and development workflow system designed to automate the software development lifecycle. It coordinates specialized AI personas to manage tasks across product design, engineering management, and quality assurance, transforming product intent into technical specifications and final releases. The project is distinguished by its deep integration of headless browser automation and semantic code memory. It utilizes a persistent Chromium daemon for web scraping and visual auditing, and implements a searchable knowledge base that logs architectural decisions and repos
Identifies undocumented public surfaces by analyzing code diffs against required documentation types.
Jest is a JavaScript testing framework designed for writing and running automated test suites to verify the correctness of JavaScript and TypeScript code. It functions as a comprehensive toolset that integrates a test runner, a mocking and spying library, a snapshot testing tool, and a code coverage tool. The framework distinguishes itself through snapshot testing, which records the serialized state of data structures to detect regressions in future executions. It also includes a mocking and spying library for simulating external dependencies and tracking function calls to isolate code during
Analyzes the codebase to identify untested sections by tracking executed lines during test runs.
Istanbul is a JavaScript code coverage tool and instrumentation engine that measures the execution of statements, lines, functions, and branches. It functions as a test coverage analysis tool capable of monitoring code across unit, functional, and browser tests to identify untested areas of a codebase. The project distinguishes itself through a transparent instrumentation engine that uses module loader hooks to inject tracking code without requiring manual source modifications. It supports distributed test reporting by aggregating fragmented coverage data from multiple concurrent processes in
Enforces minimum coverage thresholds and triggers errors if requirements are not met.
TypeDoc is a documentation generator and AST analyzer that transforms TypeScript source code and comments into structured API reference websites or data files. It functions as a static site generator that converts code symbols into a searchable web interface. The project is an extensible framework, allowing users to modify the documentation process and generator logic through a programmable plugin system and custom themes. Its capabilities include API reference generation, source code parsing, and documentation coverage validation to ensure exported members are properly described. It support
Validates that all exported symbols have descriptions and treats missing documentation as build errors.
GoConvey is a behavioral testing framework for the Go programming language that provides a test runner, a code coverage tool, and a web-based monitoring dashboard. It integrates with the standard Go test command to organize tests into behavioral stories and conveyors. The project features a web interface that monitors the file system for source code changes and automatically triggers test execution to provide real-time feedback. This dashboard displays test results, failures, and a chronological history of execution status. The framework includes a state assertion system for verifying values
Translates Go coverage profiles into visual HTML reports that highlight unexercised code paths.
Jazzy is a source code documentation tool and API generator designed for Swift and Objective-C. It analyzes project roots and compiled modules to produce searchable HTML websites or offline docsets. The system functions as a multi-module API documenter, aggregating documentation from separate source modules into a single site with cross-module linking. It serves as a markdown-based documentation engine that integrates technical guides and LaTeX mathematical equations to complement generated API references. The tool covers a broad capability surface including multi-language API generation for
Tracks the percentage of documented symbols to analyze documentation gaps and generate coverage badges.
Skim is a cross-platform interactive fuzzy finder that runs as a terminal application, a Rust library, a Vim and Neovim plugin, and a shell integration tool. It provides real-time filtering and selection from lists of items, supporting keyboard and mouse navigation, live preview panes, and multi-select functionality across Linux, macOS, and Windows. The tool distinguishes itself through a composable query expression tree that supports fuzzy, exact, inverse, prefix, suffix, and logical AND/OR operators, combined with a Smith-Waterman scoring engine that penalizes typos and gaps for natural rel
Sets a minimum coverage percentage and treats violations as informational to avoid blocking pull requests.
jscpd is a code duplication detector that scans source code across 223 languages to find identical or near-identical copy-pasted blocks using a rolling hash algorithm. It is built with a Rust core for high performance, exposed through a Node.js API and CLI, and can be run as a standalone binary with no runtime dependencies. The tool detects duplicates in embedded languages within Vue, Svelte, Astro, and Markdown files by tokenizing each language block separately, and it supports extensionless scripts via shebang detection. The project distinguishes itself through its integration capabilities
Reads a .jscpd.json configuration file and exits with a non-zero code when duplication limits are exceeded.
nyc is a JavaScript code coverage tool and command-line interface that instruments source files to track the execution of lines, branches, and functions during test runs. It acts as a wrapper for Node.js test runners, intercepting the module loading process to collect coverage data. The tool functions as a coverage data merger and build gating tool, allowing users to combine results from multiple independent test runs or child processes into a single unified report. It can automatically fail the build process if code coverage percentages fall below defined minimum thresholds. The project sup
Instruments JavaScript and TypeScript source files to track executed lines, branches, and functions during test runs.
SimpleCov est un outil de couverture de code Ruby et un moteur d'analyse utilisé pour suivre quelles lignes, branches et méthodes de code s'exécutent pendant les tests. Il fonctionne comme un exécuteur de seuil de couverture et un agrégateur de suite de tests, enregistrant les données d'exécution pour identifier les zones non testées d'une application. L'outil se distingue par la capacité de fusionner les résultats de couverture provenant de processus de travail parallèles et de sous-processus en un rapport unifié unique. Il prend en charge la comparaison de base pour détecter les régressions de couverture et peut recueillir des données à partir de code exécuté via des méthodes d'évaluation dynamique, telles que celles utilisées dans les moteurs de templating. Ses capacités plus larges incluent la génération de rapports multi-formats, le regroupement de fichiers sources et le filtrage de fichiers à l'aide d'expressions régulières. Le système fournit également une interface en ligne de commande pour afficher des statistiques et lister les fichiers non couverts.
Observes and merges coverage data gathered from forked or spawned child processes into a unified report.
JaCoCo est un outil de couverture de code Java et un instrumentateur de bytecode qui mesure quelles parties du code source sont exécutées pendant les tests. Il fonctionne comme un agent de runtime pour surveiller l'exécution de l'application à la volée ou comme une bibliothèque pour l'instrumentation de bytecode hors ligne, lui permettant de capturer des données d'exécution dans des environnements où les agents de runtime sont restreints. Le projet se distingue en fournissant des chemins d'instrumentation dynamiques et statiques pour suivre l'exécution. Il inclut un agent de runtime pour la surveillance à la volée et la capacité de modifier les fichiers de classe compilés avant l'exécution. Il permet en outre la récupération des métriques d'exécution à partir de processus en cours d'exécution via des connexions réseau distantes sans interrompre l'application active. Le système calcule des métriques de couverture quantitatives à travers les instructions, les branches, les lignes, les méthodes et les classes, aux côtés des mesures de complexité cyclomatique. Il fournit des capacités pour fusionner les données de plusieurs exécutions de test, appliquer des seuils de couverture au sein des portes de qualité CI/CD et générer des rapports qui mappent le bytecode exécuté vers le code source. Une intégration visuelle est disponible pour afficher ces résultats directement au sein des éditeurs de code. L'outil s'intègre aux systèmes d'automatisation de build et aux interfaces de ligne de commande pour automatiser la collecte de données et la génération de rapports.
Implements validation mechanisms that fail the build process if coverage percentages fall below a predefined minimum.
LoadLibrary is a binary instrumentation framework that loads and executes Windows PE/COFF DLLs natively within Linux processes. It provides a cross-platform binary execution layer that maps Windows portable executable files into Linux memory, resolving imports and relocations so that exported functions can be called as if they were native Linux library routines. The framework enables runtime interception and modification of Windows DLL function behavior, including redirecting API calls to Linux-native implementations through a binary patching hook engine. It includes a code coverage auditor t
Records every basic block executed in loaded Windows DLLs and produces coverage reports for fuzzing corpus distillation.
tbls est un utilitaire en ligne de commande basé sur Go utilisé pour documenter, analyser et linter les schémas de bases de données relationnelles. Il fonctionne comme un outil de documentation qui génère des rapports structurés et des diagrammes entité-relation aux formats Markdown, JSON ou Excel, ainsi qu'un outil de diff de schéma pour identifier les écarts entre une base de données en direct et sa documentation. Le projet permet l'augmentation de schéma et la définition de relations virtuelles via des fichiers de configuration externes, permettant des remplacements de métadonnées et des connexions de tables sans nécessiter de migrations de base de données ou de contraintes natives. Il prend en outre en charge l'organisation des tables en points de vue basés sur le domaine pour créer des perspectives organisées du schéma global. Les capacités supplémentaires incluent la capacité de valider les structures de base de données par rapport à des règles prédéfinies via un linter SQL et la mesure de la couverture documentaire pour déterminer le pourcentage de tables et de colonnes décrites. Le système utilise une interface de pilote basée sur JSON pour intégrer des exécutables externes afin de prendre en charge divers types de bases de données et emploie des modèles personnalisables pour la génération de documents.
Calculates the percentage of tables and columns that possess descriptions to measure documentation coverage.
Compodoc est un générateur de documentation API TypeScript, un générateur de site statique et un visualiseur d'architecture de projet. Il analyse le code source et les commentaires JSDoc pour créer des sites de référence technique consultables, des catalogues API et des pages HTML autonomes. Le projet se distingue par l'analyse des instructions d'importation pour produire des graphes de dépendances et des cartes de modules illustrant les relations structurelles au sein d'une base de code. Il inclut un support spécialisé pour la visualisation de projets Angular, de flux de travail NestJS et de composants web Stencil, et peut intégrer des démos fonctionnelles directement dans les pages de documentation. Le système fonctionne également comme un analyseur de couverture de documentation, fournissant des rapports et imposant des seuils de couverture minimaux au sein des pipelines d'intégration continue pour faire échouer les builds si les niveaux de documentation sont insuffisants. Les capacités supplémentaires incluent l'intégration Markdown, l'exportation de données multi-format vers JSON ou Markdown, et un serveur de développement local avec surveillance du système de fichiers pour des reconstructions automatiques. Les utilisateurs peuvent personnaliser la sortie via des fichiers de configuration, des styles CSS personnalisés et le filtrage de visibilité des éléments pour exclure des symboles spécifiques ou des balises internes du site final.
Calculates the percentage of documented code and provides reports on documentation gaps.
Screwdriver est une plateforme de livraison continue conçue pour orchestrer des flux de travail automatisés de build, de test et de déploiement. Elle fonctionne comme un orchestrateur de build conteneurisé qui gère l'ensemble du cycle de vie de livraison, du déclenchement de pipeline piloté par événements à l'exécution des tâches au sein d'environnements de conteneurs isolés et enfichables. La plateforme se distingue par une architecture modulaire qui découple la logique de build des ressources de calcul sous-jacentes, permettant une exécution cohérente sur diverses infrastructures. Elle fournit une gestion robuste de la configuration des pipelines, permettant aux équipes de définir, versionner et partager des modèles de build réutilisables. Ce système est en outre soutenu par des services d'identité complets, incluant l'intégration OAuth et un contrôle d'accès granulaire pour les secrets de pipeline et les jetons programmatiques. Au-delà de l'orchestration de base, la plateforme offre des outils d'observabilité étendus, incluant le streaming de logs en temps réel, l'analyse de métriques de performance et le suivi du statut des builds. Elle prend en charge des flux de travail d'équipe complexes grâce à l'organisation en collections de pipelines et des espaces de travail partagés, tout en maintenant la stabilité du système via la limitation des requêtes et la gestion d'état persistante dans des bases de données relationnelles. Le système est conçu pour un déploiement au sein de clusters Kubernetes, utilisant des modèles de packaging standardisés pour amorcer la plateforme et ses composants d'infrastructure requis.
The platform generates temporary access tokens for authorized users to interact with external code coverage reporting services during build workflows.
Gradle plugin and CLI for computing code coverage of new/modified code based on a diff
Computes coverage for modified code based on diffs.