Testing and Coverage Tiles

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

failsafe-tile

Configures the Maven Failsafe plugin for integration test execution.

Purpose

Provides standardized configuration for running integration tests in the integration-test phase using naming conventions like *IT.java.

Features
  • Integration test execution configuration

  • Proper test classpath setup

  • Integration with other testing tiles

surefire-tile (deprecated)

Configures the Maven Surefire plugin for unit test execution.

Purpose

Provides standardized configuration for running unit tests in the test phase using naming conventions like *Test.java.

Features
  • Unit test execution configuration

  • Test reporting configuration

  • Memory and JVM argument settings

all-tests-with-coverage-tile (deprecated)

Comprehensive testing tile that combines unit testing, integration testing, and code coverage reporting.

Purpose

Provides a complete testing solution that includes both Surefire and Failsafe configurations along with JaCoCo coverage reporting.

Features
  • Combines multiple testing tiles for complete coverage

  • Provides both unit and integration test execution

  • Includes comprehensive code coverage reporting

  • Enforces NGSS testing standards

JaCoCo Coverage Tiles

The JaCoCo tiles provide a modular approach to code coverage configuration, allowing projects to include only the coverage types they need.

jacoco-base-tile

Foundation tile for JaCoCo configuration that other JaCoCo tiles extend.

Features
  • Common JaCoCo plugin configuration

  • Coverage threshold properties (jacoco.coverage.line.threshold, jacoco.coverage.branch.threshold)

  • Coverage check execution

  • Base rules for line and branch coverage enforcement

Usage

Not used directly - inherited by other JaCoCo tiles.

jacoco-unit-tests-tile (deprecated)

Extends jacoco-base-tile with unit test specific coverage configuration.

Features
  • Pre-unit-test agent preparation

  • Unit test coverage data collection to jacoco-ut.exec

  • Post-unit-test report generation to jacoco-ut directory

  • Integration with Surefire plugin via surefireArgLine property

jacoco-integration-tests-tile

Extends jacoco-base-tile with integration test specific coverage configuration.

Features
  • Pre-integration-test agent preparation

  • Integration test coverage data collection to jacoco-it.exec

  • Post-integration-test report generation to jacoco-it directory

  • Integration with Failsafe plugin via failsafeArgLine property

jacoco-aggregate-tests-tile

Combines unit and integration test coverage into a single aggregate report.

Features
  • Depends on both unit and integration test tiles

  • Merges coverage data from both test types

  • Generates combined coverage report

  • Provides comprehensive coverage metrics

jacoco-aggregate-tile

Provides aggregate coverage reporting across multiple modules in a multi-module project.

Purpose

Generates project-wide coverage reports that combine coverage data from all modules.

Usage

Typically used in the root module of multi-module Maven projects.

jacoco-kubernetes-tile

Specialized JaCoCo configuration for collecting coverage data from services running in Kubernetes during integration testing.

Features
  • Remote JaCoCo agent configuration

  • Coverage data collection from containerized applications

  • Integration with Kubernetes-based testing workflows

  • Support for distributed coverage collection