unit-test-bean-validation

Installation
Summary

Unit testing Jakarta Bean Validation constraints and custom validators without Spring context.

  • Covers testing built-in constraints (@NotNull, @Email, @Min, @Max, @Size) and custom @Constraint implementations with violation assertion patterns
  • Includes cross-field validation, validation groups for conditional rules, and parameterized test scenarios for multiple inputs
  • Provides setup patterns using Validation.buildDefaultValidatorFactory().getValidator() and assertion helpers to extract property paths, messages, and invalid values
  • Emphasizes testing both valid and invalid cases, edge cases (null, empty, whitespace), and error message verification at the unit level before service or controller testing
SKILL.md

Unit Testing Jakarta Bean Validation

Overview

This skill provides executable patterns for unit testing Jakarta Bean Validation annotations and custom validators using JUnit 5. Covers built-in constraints (@NotNull, @Email, @Min, @Max, @Size), custom @Constraint implementations, cross-field validation, and validation groups. Tests run in isolation without Spring context.

When to Use

  • Writing unit tests for Jakarta Bean Validation or JSR-380 constraints
  • Testing custom @Constraint validators and constraint violation messages
  • Testing bean validation logic in DTOs and request objects
  • Verifying cross-field validation (e.g., password matching)
  • Testing conditional validation with validation groups
  • Fast validation tests without Spring Boot context

Instructions

  1. Add dependencies: Include jakarta.validation-api and hibernate-validator in test scope
  2. Create base test class: Build Validator once in @BeforeEach using Validation.buildDefaultValidatorFactory()
Related skills

More from giuseppe-trisciuoglio/developer-kit

Installs
2.0K
GitHub Stars
246
First Seen
Feb 3, 2026