Testing and Coverage Tiles

This page documents tiles that provide testing framework configurations and code coverage reporting for NGSS projects.

JaCoCo Coverage Tiles

The NGSS tiles provide a comprehensive JaCoCo-based code coverage solution with modular configurations for different testing scenarios.

jacoco-integration-tests-tile

This tile is deprecated. Its configurations have been rolled into skaffold-tile.

Extends jacoco-base-tile with integration test coverage for Kubernetes/Skaffold environments.

Purpose

Configures JaCoCo agent for containerized integration tests with coverage dumping and Kubernetes integration.

Features
  • JaCoCo agent configuration for containerized tests

  • Remote coverage data collection

  • Integration with Skaffold development workflow

  • Multiple profile support (skaffold-dev, jenkins, with-jacoco-agent)

Migration

Use skaffold-tile which includes these configurations along with comprehensive Kubernetes development workflow support.

jacoco-aggregate-tests-tile

Comprehensive JaCoCo reporting with unit and integration test aggregation.

Purpose

Combines unit test and integration test coverage into complete aggregate reports with full lifecycle management.

Features
  • Complete JaCoCo lifecycle management (prepare-agent, report, merge, check)

  • Unit and integration test coverage aggregation

  • SonarQube integration support

  • Comprehensive coverage metrics across all test types

Coverage Types
  • Instruction coverage metrics

  • Branch coverage analysis

  • Complexity measurement

  • Line coverage tracking

  • Method coverage validation

  • Class coverage reporting

Key Capabilities
  • Merges coverage data from multiple test phases

  • Generates unified coverage reports

  • Enforces comprehensive coverage standards

  • Integrates with CI/CD quality gates

Usage
  • Recommended for projects requiring complete coverage reporting

  • Essential for SonarQube integration

  • Ideal for projects with both unit and integration tests

jacoco-aggregate-tile

This tile is deprecated. Its configurations have been rolled into jacoco-aggregate-tests-tile.

Simplified JaCoCo aggregation that inherits from other JaCoCo tiles.

Purpose

Provides merge and report capabilities by combining configurations from unit and integration test tiles.

Features
  • Inherits from jacoco-unit-tests-tile and jacoco-integration-tests-tile

  • Coverage data merging

  • Aggregate report generation

  • Simplified configuration

Dependencies
  • Uses jacoco-unit-tests-tile (external dependency)

  • Uses jacoco-integration-tests-tile (deprecated)

Usage
  • Use jacoco-aggregate-tests-tile for more comprehensive coverage

  • Suitable for simpler aggregation needs

Integration with Other Tiles

The coverage tiles integrate seamlessly with: - skaffold-tile: Provides integration test coverage for Kubernetes environments - Container build tiles: Coverage data collection during containerized testing - CI/CD workflows: Quality gate enforcement and reporting