unit-test-mapper-converter

Solid

Provides patterns for unit testing mappers, converters, and bean mappings. Validates entity-to-DTO and model transformation logic in isolation. Generates executable mapping tests with MapStruct and custom converter test coverage. Use when writing mapping tests, converter tests, entity mapping tests, or ensuring correct data transformation between DTOs and domain objects.

Testing & QA 261 stars 29 forks Updated 1 weeks ago MIT

Install

View on GitHub

Quality Score: 89/100

Stars 20%
81
Recency 20%
90
Frontmatter 20%
70
Documentation 15%
100
Issue Health 10%
50
License 10%
100
Description 5%
100

Skill Content

# Unit Testing Mappers and Converters ## Overview Provides patterns for unit testing MapStruct mappers and custom converter classes. Covers field mapping accuracy, null handling, type conversions, nested object transformations, bidirectional mapping, enum mapping, and partial updates. ## When to Use - Writing mapping tests for MapStruct mapper implementations - Testing custom entity-to-DTO converters and bean mappings - Validating nested object mapping and collection transformations ## Instructions ### 1. Validate Generated Mapper Classes Before testing, verify generated mapper classes exist: ```bash # Maven ls target/generated-sources/ # Gradle ls build/generated/sources/ ``` **If generated classes are missing:** 1. Run `mvn compile` (Maven) or `./gradlew compileJava` (Gradle) 2. Check that the MapStruct annotation processor is configured 3. Verify `@Mapper` interfaces are in a compiled source set ### 2. Test Null Handling ```java assertThat(mapper.toDto(null)).isNull(); ``` Configure `nullValueMappingStrategy` in mapper if null should return empty/default. **If null tests fail:** 1. Add `nullValueMappingStrategy = NullValueMappingStrategy.RETURN_NULL` to `@Mapper` 2. Or use `nullValuePropertyMappingStrategy` for nested property handling ### 3. Test Bidirectional Mapping ```java User restored = mapper.toEntity(mapper.toDto(original)); assertThat(restored).usingRecursiveComparison().isEqualTo(original); ``` **If bidirectional tests fail:** 1. Check `@Mapping` anno...

Details

Author
giuseppe-trisciuoglio
Repository
giuseppe-trisciuoglio/developer-kit
Created
7 months ago
Last Updated
1 weeks ago
Language
Python
License
MIT

Integrates with

Similar Skills

Semantically similar based on skill content — not just same category

AI & Automation Listed

mapstruct

MapStruct mapper conventions for Java. Auto-loads when editing `**/*Mapper.java` files with @Mapper annotation. Covers @Mapping/@MappingTarget/@BeanMapping config, null strategies, Lombok interop, before/after mapping hooks, generated impl review.

1 Updated yesterday
taipt1504
Testing & QA Solid

unit-test-json-serialization

Provides patterns for unit testing JSON serialization/deserialization with Jackson and `@JsonTest`. Validates JSON mapping, custom serializers, date formats, and polymorphic types. Use when testing JSON serialization, validating custom serializers, or writing JSON unit tests in Spring Boot applications.

261 Updated 1 weeks ago
giuseppe-trisciuoglio
Testing & QA Solid

unit-test-bean-validation

Provides patterns for unit testing Jakarta Bean Validation (JSR-380), including @Valid, @NotNull, @Min, @Max, @Email constraints with Hibernate Validator. Generates custom validator tests, constraint violation assertions, validation groups, and parameterized validation tests. Validates data integrity logic without Spring context. Use when writing validation tests, bean validation tests, or testing custom constraint validators.

261 Updated 1 weeks ago
giuseppe-trisciuoglio
Testing & QA Solid

unit-test-controller-layer

Provides patterns for unit testing REST controllers using MockMvc and @WebMvcTest. Generates controller tests that validates request/response mapping, validation, exception handling, and HTTP status codes. Use when testing web layer endpoints in isolation for API endpoint testing, Spring MVC tests, mock HTTP requests, or controller layer unit tests.

261 Updated 1 weeks ago
giuseppe-trisciuoglio
Testing & QA Solid

test-patterns

Applies proven testing patterns — Arrange-Act-Assert (AAA), Given-When-Then, Test Data Builders, Object Mother, parameterized tests, fixtures, spies, and test doubles — to help write maintainable, reliable, and readable test suites. Use when the user asks about writing unit tests, integration tests, or end-to-end tests; structuring test cases or test suites; applying TDD or BDD practices; working with mocks, stubs, spies, or fakes; improving test coverage or reducing flakiness; or needs guidance on test organization, naming conventions, or assertions in frameworks like Jest, Vitest, pytest, or similar.

1,168 Updated 2 weeks ago
rohitg00