Glossary

Definitions of key Verifyica terminology and concepts

Glossary

Argument

A test parameter that drives test execution. In Verifyica, tests run multiple times with different arguments. Arguments can be simple types (String, Integer) or complex objects wrapped in Argument<T>.

See Also: Arguments

Argument Supplier

A static method annotated with @Verifyica.ArgumentSupplier that provides test arguments. This method returns a Collection, array, Stream, or Argument<T> instances that define what data tests will run against.

See Also: Argument Supplier

ArgumentContext

A context object that provides access to information about the current argument being executed, including the argument itself, metadata, and a thread-safe map for sharing state within an argument’s lifecycle.

See Also: Context API

ClassInterceptor

An interceptor that hooks into test class lifecycle events, allowing cross-cutting concerns (logging, metrics, resource management) to be applied across all tests in a class.

See Also: Interceptors

EngineInterceptor

An interceptor that hooks into engine-level lifecycle events, enabling global cross-cutting concerns across all test classes.

See Also: Interceptors

Execute (Test Phase)

The @Verifyica.Test method execution phase where the actual test logic runs. Each test method executes once per argument.

Parallelism

The degree to which tests can run concurrently. Verifyica supports parallelism at class level, argument level, and can use virtual threads (Java 21+) or platform threads.

See Also: Parallelism Configuration

Prepare

A lifecycle phase annotated with @Verifyica.Prepare that runs once before any arguments are processed. Used for global test setup.

See Also: Lifecycle

Conclude

A lifecycle phase annotated with @Verifyica.Conclude that runs once after all arguments are processed. Used for global test cleanup.

See Also: Lifecycle

TestEngine

The JUnit Platform component that discovers and executes Verifyica tests. Verifyica provides its own TestEngine implementation that integrates with the JUnit Platform.

JUnit Platform

The foundation upon which Verifyica is built. The JUnit Platform provides the infrastructure for discovering and executing tests, and Verifyica implements this platform as a custom TestEngine.

Type-Safe Argument

An argument wrapped in the Argument<T> interface that provides compile-time type safety, a descriptive name, and better test reporting.

See Also: Argument API

Verifyica Maven Plugin

The Maven plugin (verifyica-maven-plugin) that executes Verifyica tests during the Maven test phase. Required because Maven Surefire doesn’t natively support custom TestEngines.

See Also: Installation

EngineContext

A context object providing access to engine-level configuration and information available across all test classes.

See Also: Context API

ClassContext

A context object providing access to class-level information and configuration shared across all arguments in a test class.

See Also: Context API

Filter

A YAML-based configuration for including or excluding tests by class name, package, or tags. Filters allow selective test execution.

See Also: Filters

Tag

A marker annotation (@Tag) that categorizes tests for filtering purposes. Tests can be included or excluded based on tags.

See Also: Tagging

Order

An annotation (@Order) that controls the execution order of test methods within a test class. Lower values execute first.

See Also: Ordering

DependsOn

An annotation (@DependsOn) that specifies test method dependencies, ensuring tests execute in the correct order and handling failures appropriately.

See Also: Dependencies

@BeforeAll

A lifecycle annotation that marks methods to run once per argument before its test methods execute. Used for argument-specific setup.

See Also: Lifecycle

@AfterAll

A lifecycle annotation that marks methods to run once per argument after its test methods execute. Used for argument-specific cleanup.

See Also: Lifecycle

@BeforeEach

A lifecycle annotation that marks methods to run before each test method for each argument. Used for test-specific setup.

See Also: Lifecycle

@AfterEach

A lifecycle annotation that marks methods to run after each test method for each argument. Used for test-specific cleanup.

See Also: Lifecycle

Argument-Driven Testing

A testing paradigm where the same test logic executes multiple times with different input data (arguments). This approach reduces code duplication and improves test coverage.

Test Lifecycle

The complete set of phases a test goes through, from preparation through execution to cleanup. Verifyica provides a rich lifecycle with Prepare, BeforeAll, BeforeEach, Test, AfterEach, AfterAll, and Conclude phases.

See Also: Lifecycle

Interceptor Pattern

A design pattern that allows cross-cutting concerns to be applied to test execution by intercepting lifecycle events.

Virtual Thread

A lightweight thread introduced in Java 21 that Verifyica can use for parallel test execution, enabling high levels of concurrency with minimal resource overhead.

See Also: Thread Configuration

Thread Type

The type of threads used for parallel execution: virtual (Java 21+ virtual threads), platform (traditional threads), or platform-ephemeral (disposable platform threads).

See Also: Thread Configuration

Test Discovery

The process by which the Verifyica TestEngine finds and registers test classes and methods for execution.

TestDescriptor

A JUnit Platform concept representing a node in the test tree. Verifyica creates TestDescriptors for test classes, arguments, and test methods.

CleanupExecutor

A utility class that provides advanced cleanup patterns with support for timeouts and exception handling.

See Also: Utilities


Last modified February 15, 2026: Version 1.0.0 (#232) (5914840e)