131-java-testing-unit-testing
About 131-java-testing-unit-testing
A skill for reviewing and improving Java unit tests with JUnit 5, AssertJ, and Mockito. It combines test-quality guidance and examples with compile-before-change and full-verification requirements.
Key features
- 01JUnit 5 structure and parameterized tests
- 02AssertJ fluent assertions
- 03Mockito dependency mocking
- 04Coverage and boundary-testing guidance
- 05Compile first, then verify changes
Use cases
- 01Review and modernize Java unit tests
- 02Write fast JUnit unit tests
- 03Isolate collaborators in Mockito tests
Install
Copy the command and run it in a terminal.
npx skills add https:/ / github.com/ jabrena/ plinth --skill 131-java-testing-unit-testingAfter installing, type/131-java-testing-unit-testingin Claude Code to confirm it loaded.
Bundled filesreferences/131-java-testing-unit-testing.md
Details
From the project READMEJava Unit testing guidelines
Review and improve Java unit tests using modern JUnit 5, AssertJ, and Mockito best practices.
What is covered in this Skill?
- JUnit 5 annotations:
@Test,@BeforeEach,@AfterEach,@DisplayName,@Nested,@ParameterizedTest - AssertJ fluent assertions:
assertThat,assertThatThrownBy - Given-When-Then test structure, descriptive test naming, single-responsibility tests
- Test independence and isolated state
- Parameterized tests:
@ValueSource/@CsvSource/@MethodSource - Mockito dependency mocking:
@Mock,@InjectMocks,MockitoExtension - Code coverage guidance (JaCoCo), package-private test visibility
- Testing anti-patterns: reflection, shared state, hard-coded values, testing implementation details
- Error handling:
assertThatThrownBy, exception messages - JSpecify null-safety:
@NullMarked,@Nullable - RIGHT-BICEP coverage principles, A-TRIP test quality, CORRECT boundary condition verification
Scope: The reference is organized by examples (good/bad code patterns) for each core area. Apply recommendations based on applicable examples.
Constraints
Before applying any unit test changes, ensure the project compiles. If compilation fails, stop immediately — do not proceed until resolved. After applying improvements, run full verification.
- MANDATORY: Run
./mvnw compileormvn compilebefore applying any change - SAFETY: If compilation fails, stop immediately and do not proceed — compilation failure is a blocking condition
- VERIFY: Run
./mvnw clean verifyormvn clean verifyafter applying improvements - BEFORE APPLYING: Read the reference for detailed examples, good/bad patterns, and constraints
When to use this skill
- Review Java code for unit tests
- Apply best practices for unit tests in Java code
- Write fast JUnit unit tests for Java code
- Improve Mockito-based Java unit tests
- Refactor Java tests to isolate collaborators
Workflow
- Compile project before unit-test changes
Run ./mvnw compile or mvn compile and stop immediately if compilation fails.
- Read unit-testing reference and evaluate coverage
Read references/131-java-testing-unit-testing.md and identify modernization and quality gaps in current tests.
- Apply unit-testing best practices
Implement or refactor tests using JUnit 5, AssertJ, Mockito, parameterization, and stronger boundary checks.
- Verify with full build
Run ./mvnw clean verify or mvn clean verify after applying improvements.
Reference
For detailed guidance, examples, and constraints, see references/131-java-testing-unit-testing.md.