16 个仓库
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 是一个 Ruby 代码覆盖率工具和分析引擎,用于跟踪测试期间执行的代码行、分支和方法。它作为一个覆盖率阈值强制执行器和测试套件聚合器,记录执行数据以识别应用中未测试的区域。 该工具通过将来自并行工作进程和子进程的覆盖率结果合并为单个统一报告的能力而脱颖而出。它支持基准比较以检测覆盖率回归,并可以收集通过动态评估方法(如模板引擎中使用的方法)执行的代码数据。 其更广泛的能力包括多格式报告生成、源文件分组以及使用正则表达式进行文件过滤。该系统还提供了一个用于显示统计信息和列出未覆盖文件的命令行界面。
Observes and merges coverage data gathered from forked or spawned child processes into a unified report.
JaCoCo 是一个 Java 代码覆盖率工具和字节码插桩工具,用于衡量测试过程中执行了源代码的哪些部分。它既可以作为运行时代理来实时监控应用执行,也可以作为离线字节码插桩库,从而在受限的运行时环境中捕获执行数据。 该项目的特点是提供动态和静态两种插桩路径来跟踪执行情况。它包含一个用于实时监控的运行时代理,并具备在执行前修改已编译类文件的能力。此外,它还支持在不中断活动应用的情况下,通过远程网络连接从运行中的进程检索执行指标。 该系统可计算指令、分支、行、方法和类级别的定量覆盖率指标,以及圈复杂度。它提供了合并多次测试运行数据、在 CI/CD 质量门禁中强制执行覆盖率阈值,以及生成将执行的字节码映射回源代码的报告等功能。此外,它还支持将结果直接显示在代码编辑器中的可视化集成。 该工具与构建自动化系统和命令行接口集成,以实现数据收集和报告生成的自动化。
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 是一个基于 Go 的命令行工具,用于记录、分析和检查关系数据库模式。它是一个文档生成工具,可以生成 Markdown、JSON 或 Excel 格式的结构化报告和实体关系图,同时也是一个模式差异对比工具,用于识别实时数据库与文档之间的差异。 该项目允许通过外部配置文件进行模式增强和定义虚拟关系,从而在无需数据库迁移或原生约束的情况下实现元数据覆盖和表连接。它还支持将表组织成基于域的视图,以创建对整体模式的精选视角。 其他功能包括通过 SQL linter 根据预定义规则验证数据库结构,以及测量文档覆盖率以确定已描述表和列的百分比。该系统利用基于 JSON 的驱动程序接口集成外部可执行文件以支持各种数据库类型,并使用可自定义的模板进行文档生成。
Calculates the percentage of tables and columns that possess descriptions to measure documentation coverage.
Compodoc 是一个 TypeScript API 文档生成器、静态站点生成器和项目架构可视化工具。它解析源代码和 JSDoc 注释,以创建可搜索的技术参考站点、API 目录和独立 HTML 页面。 该项目通过分析 import 语句来生成依赖图和模块映射,从而展示代码库内的结构关系,这使其脱颖而出。它包括对可视化 Angular 项目、NestJS 工作流和 Stencil Web 组件的专门支持,并可将实时工作演示直接嵌入到文档页面中。 该系统还充当文档覆盖率分析器,提供报告并在持续集成流水线中强制执行最低覆盖率阈值,如果文档水平不足则导致构建失败。其他功能包括 Markdown 集成、多格式数据导出(JSON 或 Markdown),以及带有文件系统监控以实现自动重建的本地开发服务器。 用户可以通过配置文件、自定义 CSS 样式和元素可见性过滤来自定义输出,以从最终站点中排除特定符号或内部标签。
Calculates the percentage of documented code and provides reports on documentation gaps.
Screwdriver is a continuous delivery platform designed to orchestrate automated build, test, and deployment workflows. It functions as a containerized build orchestrator that manages the entire delivery lifecycle, from event-driven pipeline triggering to the execution of tasks within isolated, pluggable container environments. The platform distinguishes itself through a modular architecture that decouples build logic from underlying compute resources, allowing for consistent execution across diverse infrastructures. It provides robust pipeline configuration management, enabling teams to defin
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.