awesome-repositories.com
博客
awesome-repositories.com

通过 AI 驱动的搜索,发现最优秀的开源仓库。

探索精选搜索开源替代品自托管软件博客网站地图
项目关于排名机制媒体报道MCP 服务器
法律隐私政策服务条款
© 2026 Bringes Technology SRL·VAT RO45896025·hello@awesome-repositories.com
·
jacoco avatar

jacoco/jacoco

0
View on GitHub↗
4,580 星标·1,200 分支·Java·3 次浏览www.jacoco.org/jacoco↗

Jacoco

JaCoCo 是一个 Java 代码覆盖率工具和字节码插桩工具,用于衡量测试过程中执行了源代码的哪些部分。它既可以作为运行时代理来实时监控应用执行,也可以作为离线字节码插桩库,从而在受限的运行时环境中捕获执行数据。

该项目的特点是提供动态和静态两种插桩路径来跟踪执行情况。它包含一个用于实时监控的运行时代理,并具备在执行前修改已编译类文件的能力。此外,它还支持在不中断活动应用的情况下,通过远程网络连接从运行中的进程检索执行指标。

该系统可计算指令、分支、行、方法和类级别的定量覆盖率指标,以及圈复杂度。它提供了合并多次测试运行数据、在 CI/CD 质量门禁中强制执行覆盖率阈值,以及生成将执行的字节码映射回源代码的报告等功能。此外,它还支持将结果直接显示在代码编辑器中的可视化集成。

该工具与构建自动化系统和命令行接口集成,以实现数据收集和报告生成的自动化。

Features

  • Code Coverage Analysis - Measures the extent to which Java source code is executed by a test suite to identify untested logic.
  • Java Agents - Functions as a Java agent that monitors application execution on the fly to record coverage data.
  • Code Quality Analysis Tools - Calculates cyclomatic complexity and enforces coverage thresholds to maintain software quality standards.
  • Execution Tracking - Records which specific bytecode instructions and branches are executed during a test run using boolean markers.
  • Bytecode-to-Source Mapping - Links executed bytecode instructions back to original source code lines and methods for report generation.
  • Bytecode Instrumentation Agents - Implements bytecode instrumentation agents to inject tracking probes into compiled Java classes at runtime.
  • Class Definition Hashing - Assigns a unique hash to raw class definitions to distinguish between different versions of the same class.
  • Offline Bytecode Instrumentation - Modifies compiled class files before execution to enable coverage tracking in environments that prohibit runtime agents.
  • Runtime Bytecode Instrumentation - Injects tracking logic into class files during execution via a Java agent to monitor runtime behavior.
  • Branch Coverage Tracking - Analyzes decision statements to determine the number of executed or missed paths in the code.
  • Java Instrumentation Frameworks - Provides a framework for injecting tracking probes into Java class files via runtime or offline instrumentation.
  • Runtime Bytecode Instrumentation - Injects tracking probes into class files at runtime using a Java agent to monitor execution paths.
  • Execution Coverage Metrics - Tracks whether at least one instruction in a method or one method in a class has been executed.
  • Class Version Hashes - Assigns unique identifiers to class definitions to ensure execution data matches the correct version of the source code.
  • Code Coverage Tools - Instruments bytecode to measure the percentage of Java source code executed during automated tests.
  • Threshold Enforcements - Implements validation mechanisms that fail the build process if coverage percentages fall below a predefined minimum.
  • Instrumentation Filters - Provides rules to include or exclude specific packages and classes from instrumentation to limit data collection.
  • Runtime Metrics Extraction - Enables retrieval of execution metrics from running processes via remote network connections without interrupting the application.
  • Large-Scale Codebase Analysis - Uses streaming patterns and depth-first traversals to analyze large projects with thousands of classes while maintaining low memory overhead.
  • Build Tool Integrations - Provides native extensions and tasks to integrate coverage data collection into build automation systems.
  • Remote Execution Data Extraction - Transmits execution metrics from a running process to an external collector via a dedicated network protocol.
  • Cyclomatic Complexity Analyzers - Computes the minimum number of paths through a method to determine the test cases required for full coverage.
  • Coverage Threshold Validation - Enforces minimum code coverage thresholds during the build process to ensure software meets quality standards.
  • Quality Gates - Integrates with CI/CD pipelines to block code progression if specific coverage quality gates are not met.
  • Visual Coverage Mapping - Displays execution data directly within code editors using visual highlights and gutter decorations.
  • Report Generators - Transforms raw binary execution data into human-readable reports to identify untested sections of the application.
  • Code Coverage Reportings - Compares execution metrics against source code to generate reports identifying untested lines and branches.
  • 测试框架 - Java code coverage library.

Star 历史

jacoco/jacoco 的 Star 历史图表jacoco/jacoco 的 Star 历史图表

AI 搜索

探索更多 awesome 仓库

用简单的语言描述您的需求 —— AI 将根据相关性为您从数千个精选开源项目中进行排序。

Start searching with AI

常见问题解答

jacoco/jacoco 是做什么的?

JaCoCo 是一个 Java 代码覆盖率工具和字节码插桩工具,用于衡量测试过程中执行了源代码的哪些部分。它既可以作为运行时代理来实时监控应用执行,也可以作为离线字节码插桩库,从而在受限的运行时环境中捕获执行数据。

jacoco/jacoco 的主要功能有哪些?

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 有哪些开源替代品?

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…

Jacoco 的开源替代方案

相似的开源项目,按与 Jacoco 的功能重合度排序。
  • colszowka/simplecovcolszowka 的头像

    colszowka/simplecov

    4,902在 GitHub 上查看↗

    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

    Ruby
    在 GitHub 上查看↗4,902
  • gotwarlost/istanbulgotwarlost 的头像

    gotwarlost/istanbul

    8,662在 GitHub 上查看↗

    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

    JavaScript
    在 GitHub 上查看↗8,662
  • istanbuljs/nycistanbuljs 的头像

    istanbuljs/nyc

    5,746在 GitHub 上查看↗

    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

    JavaScriptcode-coverageistanbuljavascript
    在 GitHub 上查看↗5,746
  • oldmanpushcart/greys-anatomyoldmanpushcart 的头像

    oldmanpushcart/greys-anatomy

    4,007在 GitHub 上查看↗

    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

    Javadiagnosisgreysjvmti
    在 GitHub 上查看↗4,007
查看 Jacoco 的所有 30 个替代方案→