
Unit Test Parameterized
Generates JUnit 5 parameterized tests so you can run the same test logic against multiple input combinations without duplicating code. Covers @ValueSource for primitives and strings, @CsvSource for tabular test cases, @MethodSource when you need complex objects, and @EnumSource for enum exhaustiveness checks. Good for boundary value testing, email validation with known good and bad inputs, that sort of thing. The examples show readable patterns with custom display names and proper assertion structure. Watch out for the parameter count matching requirement and remember @MethodSource factory methods must be static. Honestly just saves you from writing fifteen nearly identical test methods when you could write one with fifteen parameter sets.
- skills.sh installs
- 3.9K
- GitHub stars
- 369
- last updated
- Aug 21, 2026
Install
$ npx -y skills add giuseppe-trisciuoglio/developer-kit --skill unit-test-parameterized --agent claude-codeInstalls into .claude/skills of the current project.
Files
Parameterized Unit Tests with JUnit 5
Overview
Provides patterns for parameterized unit tests in Java using JUnit 5. Covers @ValueSource, @CsvSource, @MethodSource, @EnumSource, @ArgumentsSource, and custom display names. Reduces test duplication by running the same test logic with multiple input values.
When to Use
- Writing JUnit tests with multiple input combinations
- Implementing data-driven tests in Java
- Running same test with different values (boundary analysis)
- Testing multiple scenarios from single test method
Instructions
- Add dependency: Ensure
junit-jupiter-paramsis on test classpath (included injunit-jupiter) - Choose source:
@ValueSourcefor simple values,@CsvSourcefor tabular data,@MethodSourcefor complex objects - Match parameters: Test method parameters must match data source types
- Set display names: Use
name = "{0}..."for readable output - Validate: Run
./gradlew test --infoormvn testand verify all parameter combinations execute
Examples
Maven / Gradle Dependency
JUnit 5 parameterized tests require junit-jupiter (includes params). Add assertj-core for assertions:
Sponsors
Details
- Repository
- github.com/giuseppe-trisciuoglio/developer-kit
- Categories
- Testing & QA, Documentation, Java & JVM
- First seen
- May 16, 2026
More from giuseppe-trisciuoglio/developer-kit
All 102- Unit Test Json Serialization3.9K
- Spring Boot Saga Pattern3.9K
- Spring Data Neo4j3.9K
- Unit Test Security Authorization3.9K
- Nextjs Data Fetching3.9K
- Langchain4j Tool Function Calling Patterns3.9K
- Nx Monorepo3.9K
- Langchain4j Spring Boot Integration3.9K
- Langchain4j Rag Implementation Patterns3.9K
- Unit Test Scheduled Async3.9K
- Rag3.9K
- Unit Test Utility Methods3.9K
- Qdrant3.9K
- Unit Test Exception Handler3.9K
- Unit Test Mapper Converter3.9K
- Langchain4j Ai Services Patterns3.9K
- Unit Test Caching3.8K
- Unit Test Config Properties3.8K
- Unit Test Application Events3.8K
- Langchain4j Vector Stores Configuration3.8K
- Langchain4j Mcp Server Patterns3.8K
- Aws Sdk Java V2 S33.8K
- Langchain4j Testing Strategies3.8K
- Aws Sdk Java V2 Dynamodb3.8K