Provides parameterized testing patterns with JUnit 5, generates data-driven unit tests using @ParameterizedTest, @ValueSource, @CsvSource, @MethodSource. Creates tests that run the same logic with multiple input values.
SkillScore91Maintained
Automatic
◆QA & Test Engineering pack
Last verified 8/21/2026
What it changes
Passed 20 of 22 test cases with the skill, and 19 of 22 without it.
Without skill86%
With skill91%
Checks it passed that the model alone missed
Uses @ValueSource with strings array containing the test inputs
Uses AssertJ assertThatThrownBy to capture IllegalArgumentException
2 fixed18 passed either way1 still failing1 broke
Pass-rate lift
+5 pp
Tokens
+85%
Agent turns
0%
Response time
-6%
Model gemini-3.6-flashMeasured 8/21/2026v120 of 22 cases passed with skill
Tokens, turns and time describe resource use, not a dollar price.
See it in action
One of 2 test cases the skill fixed. Same model, same prompt, with and without the skill.
1 of 2
Prompt
Write a Java test method in JUnit 5 to verify that string capitalization works on a set of inputs ('hello', 'world', 'test') without duplicating test methods or running a loop inside a single standard @Test.
What was checked, without and with the skill
Checked
Without skill
With skill
Uses @ParameterizedTest on the test method
Passed
Passed
Uses @ValueSource with strings array containing the test inputs
Missed
Passed
case-01 · gemini-3.6-flash · 8/21/2026 · answers are capped and redacted
What's inside
The instructions your model reads when the skill loads.
SKILL.md190 linessingle file
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-params is on test classpath (included in junit-jupiter)
Choose source: @ValueSource for simple values, @CsvSource for tabular data, @MethodSource for 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 --info or mvn test and verify all parameter combinations execute