JaCoCo 是一个 Java 代码覆盖率工具和字节码插桩工具,用于衡量测试过程中执行了源代码的哪些部分。它既可以作为运行时代理来实时监控应用执行,也可以作为离线字节码插桩库,从而在受限的运行时环境中捕获执行数据。
jacoco/jacoco 的主要功能包括:Code Coverage Analysis, Java Agents, Code Quality Analysis Tools, Execution Tracking, Bytecode-to-Source Mapping, Bytecode Instrumentation Agents, Class Definition Hashing, Offline Bytecode Instrumentation。
jacoco/jacoco 的开源替代品包括: colszowka/simplecov — SimpleCov is a Ruby code coverage tool and analysis engine used to track which lines, branches, and methods of code… gotwarlost/istanbul — Istanbul is a JavaScript code coverage tool and instrumentation engine that measures the execution of statements,… istanbuljs/nyc — nyc is a JavaScript code coverage tool and command-line interface that instruments source files to track the execution… oldmanpushcart/greys-anatomy — This project is a Java runtime diagnostic tool and bytecode instrumentation framework. It provides a remote… jbachorik/btrace — btrace is a Java dynamic tracing tool and instrumentation framework designed for real-time diagnostics. It enables the… sebastianbergmann/php-code-coverage — php-code-coverage is a PHP library and analysis tool designed to track runtime execution and determine which parts of…
SimpleCov is a Ruby code coverage tool and analysis engine used to track which lines, branches, and methods of code execute during tests. It functions as a coverage threshold enforcer and test suite aggregator, recording execution data to identify untested areas of an application. The tool distinguishes itself through the ability to merge coverage results from parallel worker processes and subprocesses into a single unified report. It supports baseline comparison to detect coverage regressions and can gather data from code executed via dynamic evaluation methods, such as those used in templat
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
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
This project is a Java runtime diagnostic tool and bytecode instrumentation framework. It provides a remote troubleshooting interface for inspecting live Java systems, analyzing execution traces, and monitoring method performance without requiring application restarts. The system distinguishes itself through its ability to modify Java classes at runtime to capture parameters and return values, combined with a JavaScript-based scripting engine for custom diagnostic logic. It further supports collaborative live debugging, allowing multiple users to connect to a single remote process simultaneou