Interface CoverageOutputFormatter

All Known Implementing Classes:
CoverageOutputFormatter.DetailedCoverageFormatter, CoverageOutputFormatter.HtmlCoverageFormatter, CoverageOutputFormatter.HumanCoverageFormatter, CoverageOutputFormatter.JacocoXmlCoverageFormatter, CoverageOutputFormatter.JsonCoverageFormatter, CoverageOutputFormatter.TerseCoverageFormatter, CoverageOutputFormatter.VerboseCoverageFormatter

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
  • Field Details

    • COVERAGE_THRESHOLD

      static final double COVERAGE_THRESHOLD
      Coverage threshold for 80% gate. Used by TestRunner to determine if coverage is sufficient.
      See Also:
  • Method Details

    • format

      void format(PrintStream out)
      Format and output coverage results.
      Parameters:
      out - The output stream to write to
    • formatToFile

      default void formatToFile(Path outputFile)
      Write coverage results to a file.

      This is used when -tC is combined with machine formats (-t2 or -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

      static CoverageOutputFormatter create(TestOutputFormat format)
      Create the appropriate formatter for the given test output format.
      Parameters:
      format - The test output format
      Returns:
      The corresponding coverage formatter
    • create

      static CoverageOutputFormatter create(TestOutputFormat format, PackageDetails packageDetails)
      Create the appropriate formatter with package details for metadata display.
      Parameters:
      format - The test output format
      packageDetails - 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 format
      packageDetails - 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