Interface CoverageOutputFormatter
- All Known Implementing Classes:
CoverageOutputFormatter.DetailedCoverageFormatter, CoverageOutputFormatter.HtmlCoverageFormatter, CoverageOutputFormatter.HumanCoverageFormatter, CoverageOutputFormatter.JacocoXmlCoverageFormatter, CoverageOutputFormatter.JsonCoverageFormatter, CoverageOutputFormatter.TerseCoverageFormatter, CoverageOutputFormatter.VerboseCoverageFormatter
public sealed interface CoverageOutputFormatter
permits CoverageOutputFormatter.HumanCoverageFormatter, CoverageOutputFormatter.TerseCoverageFormatter, CoverageOutputFormatter.JsonCoverageFormatter, CoverageOutputFormatter.JacocoXmlCoverageFormatter, CoverageOutputFormatter.DetailedCoverageFormatter, CoverageOutputFormatter.VerboseCoverageFormatter, CoverageOutputFormatter.HtmlCoverageFormatter
Formats coverage output for display after test execution.
The format follows the test output format (-t0/-t1/-t2/-t3/-t4):
- HUMAN (-t, -t1): Human-readable summary with module breakdown
- TERSE (-t0): Minimal one-line summary for scripting
- JSON (-t2): Structured JSON for AI/tool integration
- JUNIT_XML (-t3): JaCoCo-compatible XML for CI/CD integration
- DETAILED (-t4): Human-readable plus detailed coverage report file
-
Nested Class Summary
Nested ClassesModifier and TypeInterfaceDescriptionstatic final classDetailed coverage format that displays human-readable output AND writes detailed coverage report to .ek9/coverage-detail.json.static final classHTML coverage format that generates an interactive dashboard and source views.static final classHuman-readable coverage format with line/method/branch breakdown.static final classJaCoCo-compatible XML format for CI/CD integration.static final classJSON coverage format for AI/tool integration.static final classTerse coverage format for scripting.static final classVerbose/full coverage format that displays BOTH covered AND uncovered items. -
Field Summary
FieldsModifier and TypeFieldDescriptionstatic final doubleCoverage threshold for 80% gate. -
Method Summary
Modifier and TypeMethodDescriptionstatic CoverageOutputFormattercreate(TestOutputFormat format) Create the appropriate formatter for the given test output format.static CoverageOutputFormattercreate(TestOutputFormat format, PackageDetails packageDetails) Create the appropriate formatter with package details for metadata display.static CoverageOutputFormattercreate(TestOutputFormat format, PackageDetails packageDetails, String sourceDirectory) Create the appropriate formatter with package details and source directory.voidformat(PrintStream out) Format and output coverage results.default voidformatToFile(Path outputFile) Write coverage results to a file.
-
Field Details
-
COVERAGE_THRESHOLD
static final double COVERAGE_THRESHOLDCoverage threshold for 80% gate. Used by TestRunner to determine if coverage is sufficient.- See Also:
-
-
Method Details
-
format
Format and output coverage results.- Parameters:
out- The output stream to write to
-
formatToFile
Write coverage results to a file.This is used when
-tCis combined with machine formats (-t2or-t3) to produce valid, separate output files for test results and coverage data.Only JSON and JaCoCo XML formatters support file output. Human-readable formats throw
UnsupportedOperationException.- Parameters:
outputFile- The file path to write to- Throws:
UnsupportedOperationException- if the formatter doesn't support file output
-
create
Create the appropriate formatter for the given test output format.- Parameters:
format- The test output format- Returns:
- The corresponding coverage formatter
-
create
Create the appropriate formatter with package details for metadata display.- Parameters:
format- The test output formatpackageDetails- Optional package details for HTML reports (may be null)- Returns:
- The corresponding coverage formatter
-
create
static CoverageOutputFormatter create(TestOutputFormat format, PackageDetails packageDetails, String sourceDirectory) Create the appropriate formatter with package details and source directory.- Parameters:
format- The test output formatpackageDetails- Optional package details for HTML reports (may be null)sourceDirectory- The source file directory for resolving relative paths (may be null)- Returns:
- The corresponding coverage formatter
-