mcpField
S
spring-testing-fundamentals

spring-testing-fundamentals

github.com/spring-ai-communityTesting & quality5245 installsUpdated 27w ago
Repository

About spring-testing-fundamentals

A skill for Spring developers covering general testing practices with AssertJ, Mockito, and JUnit 5. It also guides test-slice selection, context caching, and Boot 4 annotation migration.

Key features

  1. 01AssertJ assertion patterns
  2. 02Mockito stubbing and verification
  3. 03ArgumentCaptor usage
  4. 04Test-slice selection guidance
  5. 05Context caching and @DirtiesContext
  6. 06Boot 4 annotation migration

Use cases

  1. 01Writing unit tests for Spring applications
  2. 02Choosing a Spring test-slice annotation
  3. 03Investigating slow tests caused by context caching

Install

Copy the command and run it in a terminal.

$npx skills add https://github.com/spring-ai-community/spring-testing-skills --skill spring-testing-fundamentals

After installing, type/spring-testing-fundamentalsin Claude Code to confirm it loaded.

Bundled filesreferences/assertj-mockito-idioms.mdreferences/cross-cutting-testing-patterns.md

Details

From the project README

Spring Testing Fundamentals

Signals: assertThat, assertThatThrownBy, given/willReturn, then(mock).should, ArgumentCaptor, @MockitoBean, @MockitoSpyBean, @DirtiesContext, context caching, testing pyramid

Tested With

  • Spring Boot 3.2+ / Spring Boot 4.x
  • Spring Framework 6.x / Spring Framework 7.x
  • AssertJ 3.24+
  • Mockito 5.x
  • JUnit 5

Do NOT Use This Skill When

You need domain-specific patterns:

  • Testing JPA repositories, Testcontainers, @DataJpaTest → use spring-jpa-testing
  • Testing REST controllers, MockMvc, @WebMvcTest → use spring-mvc-testing
  • Testing security, @WithMockUser, JWT, OAuth2 → use spring-security-testing
  • Testing reactive controllers, @WebFluxTest, StepVerifier → use spring-webflux-testing
  • Testing WebSocket/STOMP → use spring-websocket-testing

When to Read References

SituationRead
AssertJ scalars, optionals, BigDecimal, collections, exceptionsreferences/assertj-mockito-idioms.md
BDDMockito given/willReturn, then(mock).should, argument matchersreferences/assertj-mockito-idioms.md
ArgumentCaptor usage and verification patternsreferences/assertj-mockito-idioms.md
UnnecessaryStubbingException and strict stubbing fixesreferences/assertj-mockito-idioms.md
@MockitoBean vs @MockitoSpyBean in Boot 4references/assertj-mockito-idioms.md
Testing pyramid: when to use each slice annotationreferences/cross-cutting-testing-patterns.md
Context caching: why tests are slow, cache key, @DirtiesContext impactreferences/cross-cutting-testing-patterns.md
Universal anti-patterns across all Spring test typesreferences/cross-cutting-testing-patterns.md
Boot 4 annotation migration checklistreferences/cross-cutting-testing-patterns.md

Comments

Markdown supported