Junit
JUnit Java testing framework. Use for Java testing.From its SKILL.md
npx -y skills add G1Joshi/Agent-Skills --skill junitAssembled from the repository path, not quoted from the project. Check it against their README if it does not work.
One thing to look at
- 12 stars12 stars. Stars are a popularity signal and not a quality one, but at this level it is likely that nobody has read this closely except its author, and you would be relying on your own review.
SKILL.md
1.9 KB, 464 tokens by cl100k_base, as published. Nobody here has run it
JUnit 5
JUnit is the programmer-friendly testing framework for Java and the JVM. JUnit 5 is the current major version, composed of the JUnit Platform, JUnit Jupiter, and JUnit Vintage.
When to Use
- Java Projects: The standard. Spring Boot starts with
spring-boot-starter-testwhich includes JUnit 5. - Unit & Integration: From testing a single method to spinning up a database context (with Testcontainers).
Quick Start (JUnit 5 / Jupiter)
import static org.junit.jupiter.api.Assertions.assertEquals;
import org.junit.jupiter.api.Test;
class CalculatorTest {
@Test
void addition() {
assertEquals(2, 1 + 1, "Optional failure message");
}
}
Core Concepts
Lifecycle Annotations
@BeforeEach/@AfterEach: Run before/after every test method.@BeforeAll/@AfterAll: Run once per class (must be static).
Parameterized Tests
Running the same test with different inputs.
@ParameterizedTest
@ValueSource(strings = { "racecar", "radar", "able was I ere I saw elba" })
void palindromes(String candidate) {
assertTrue(StringUtils.isPalindrome(candidate));
}
Assertions
assertThrows, assertTimeout, assertAll (Grouped assertions).
Best Practices (2025)
Do:
- Use
@DisplayName: Give tests readable sentences as names ("Should return 404 when user not found"). - Use AssertJ: JUnit assertions are basic. AssertJ (
assertThat(actual).isEqualTo(expected)) is fluent and better. - Testcontainers: For integration tests, use Testcontainers with JUnit 5 annotations to spin up real Docker DBs.
Don't:
- Don't use
System.out.println: Use a logger or assertions. - Don't use JUnit 4:
@Test(org.junit.Test) is old. Use@Test(org.junit.jupiter.api.Test).
References
What ships with it
Read from the repository
Just SKILL.md. No reference files, no scripts.