unit-test-utility-methods

Solid

Provides patterns for testing utility classes, static methods, and helper functions. Validates pure functions, null handling, edge cases, and boundary conditions. Generates AssertJ assertions and @ParameterizedTest for string utils, math utils, validators, and collection helpers. Use when testing utils, test helpers, helper functions, static methods, or verifying utility code correctness.

Testing & QA 263 stars 31 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 Utility Classes and Static Methods ## Overview This skill generates tests for utility classes with static helper methods and pure functions. It provides patterns for testing null handling, edge cases, boundary conditions, and common utilities like string manipulation, calculations, data validation, and collections. Pure functions require no mocking. ## When to Use Use this skill when: - Writing tests for utility/helper classes with static methods - Testing pure functions with no state or side effects - Testing string manipulation, formatting, or transformation utilities - Testing calculation, conversion, or math helper functions - Testing data validation and formatter utilities - Verifying null/empty input handling in utility code - Testing collections or array helper methods ## Instructions 1. **Create test class**: Name it after the utility (e.g., `StringUtilsTest`) 2. **Test happy path**: Valid inputs with expected outputs 3. **Test edge cases**: null, empty, whitespace, single elements 4. **Test boundary conditions**: max/min values, large numbers, precision 5. **Use descriptive names**: `shouldCapitalizeFirstLetter` instead of `test1` 6. **Use AssertJ**: For readable, chainable assertions 7. **Use `@ParameterizedTest`**: For multiple similar inputs (see `references/parameterized-tests.md`) 8. **Avoid mocking**: Pure utilities need no mocks ## Examples ### Basic Static Utility Test ```java import org.junit.jupiter.api.Test; import static org.assert...

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

Testing & QA Listed

unit-test

Unit testing techniques, mocking, and assertions

2 Updated 4 days ago
DongDuong2001
Testing & QA Solid

unit-test-boundary-conditions

Provides edge case, corner case, boundary condition, and limit testing patterns for Java unit tests. Validates minimum/maximum values, null cases, empty collections, numeric overflow/underflow, floating-point precision, and off-by-one scenarios using JUnit 5 and AssertJ. Use when writing .java test files to ensure code handles limits, corner cases, and special inputs correctly.

263 Updated 1 weeks ago
giuseppe-trisciuoglio
AI & Automation Listed

java-junit

JUnit 5 testing patterns and parameterized-test guidance. Use when writing or reviewing Java unit tests.

1 Updated today
bg-szy
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.

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

131-java-testing-unit-testing

Use when you need to review, improve, or write Java unit tests — including migrating from JUnit 4 to JUnit 5, adopting AssertJ for fluent assertions, structuring tests with Given-When-Then, ensuring test independence, applying parameterized tests, mocking dependencies with Mockito, verifying boundary conditions (RIGHT-BICEP, CORRECT, A-TRIP), leveraging JSpecify null-safety annotations, or eliminating testing anti-patterns such as reflection-based tests or shared mutable state. This should trigger for requests such as Review Java code for unit tests; Apply best practices for unit tests in Java code. Part of cursor-rules-java project

393 Updated today
jabrena