Now liveThe Skillselion MCP - thousands of ranked skills, loaded into your agent mid-task. No install.Get it →
joaquimscosta avatar

Spring Boot Testing

  • 1 installs
  • 21 repo stars
  • Updated August 5, 2026
  • joaquimscosta/arkhe-claude-plugins

Provides Spring Boot 4 testing patterns: slice tests, Testcontainers with @ServiceConnection, security testing, and the @MockBean to @MockitoBean migration.

About

Covers Spring Boot 4 testing including unit and slice tests, Testcontainers, security testing, and Modulith Scenario API, plus the critical @MockitoBean migration. A developer uses it when writing tests for a Spring Boot 4 application.

  • @MockBean to @MockitoBean and MockMvcTester migration
  • Slice tests, Testcontainers @ServiceConnection, security testing

Spring Boot Testing by the numbers

  • 1 all-time installs (skills.sh)
  • Ranked #1,750 of 2,153 Testing & QA skills by installs in the Skillselion catalog
  • Data as of Aug 5, 2026 (Skillselion catalog sync)
npx skills add https://github.com/joaquimscosta/arkhe-claude-plugins --skill spring-boot-testing

Add your badge

Show developers this skill is listed on Skillselion. Paste this into your README.

Listed on Skillselion
Installs1
repo stars21
Last updatedAugust 5, 2026
Repositoryjoaquimscosta/arkhe-claude-plugins

What it does

Provides Spring Boot 4 testing patterns: slice tests, Testcontainers with @ServiceConnection, security testing, and the @MockBean to @MockitoBean migration.

Files

SKILL.mdMarkdownGitHub ↗

Spring Boot 4 Testing

Comprehensive testing patterns including slice tests, Testcontainers, security testing, and Modulith Scenario API.

Critical Breaking Change

Old (Boot 3.x)New (Boot 4.x)Notes
@MockBean@MockitoBeanRequired migration
@SpyBean@MockitoSpyBeanRequired migration
MockMvc (procedural)MockMvcTester (fluent)New AssertJ-style API
Implicit @AutoConfigureMockMvcExplicit annotation requiredAdd to @SpringBootTest

MockMvcTester (Spring Boot 4)

New fluent, AssertJ-style API for controller testing:

@WebMvcTest(UserController.class)
class UserControllerTest {

    @Autowired
    private MockMvcTester mvc;  // NEW: Fluent API

    @Test
    void getUser_returnsUser() {
        mvc.get().uri("/users/{id}", 1)
            .exchange()
            .assertThat()
            .hasStatusOk()
            .bodyJson()
            .extractingPath("$.name")
            .isEqualTo("John");
    }
}

Key Benefits: Fluent assertions, better error messages, AssertJ integration.

Test Annotation Selection

Test TypeAnnotationUse When
Controller@WebMvcTestTesting request/response, validation
Repository@DataJpaTestTesting queries, entity mapping
JSON@JsonTestTesting serialization/deserialization
REST Client@RestClientTestTesting external API clients
Full Integration@SpringBootTestEnd-to-end, with real dependencies
Module@ApplicationModuleTestTesting bounded context in isolation

Core Workflow

1. Choose test slice → Minimal context for fast tests 2. Mock dependencies@MockitoBean for external services 3. Use Testcontainers@ServiceConnection for databases 4. Assert thoroughly → Use AssertJ, MockMvcTester (new), RestTestClient (new), WebTestClient 5. Test security@WithMockUser, JWT mocking

Quick Patterns

See EXAMPLES.md for complete working examples including:

  • @WebMvcTest with MockMvcTester and @MockitoBean (Java + Kotlin)
  • @DataJpaTest with TestEntityManager for lazy loading verification
  • Testcontainers with @ServiceConnection for PostgreSQL/Redis
  • Security Testing with @WithMockUser for role-based access
  • Modulith Event Testing with Scenario API

Detailed References

  • Examples: See EXAMPLES.md for complete working code examples
  • Troubleshooting: See TROUBLESHOOTING.md for common issues and Boot 4 migration
  • Slice Tests: See references/SLICE-TESTS.md for @WebMvcTest, @DataJpaTest, @JsonTest patterns
  • Testcontainers: See references/TESTCONTAINERS.md for @ServiceConnection, container reuse
  • Security Testing: See references/SECURITY-TESTING.md for @WithMockUser, JWT mocking
  • Modulith Testing: See references/MODULITH-TESTING.md for Scenario API, event verification

Anti-Pattern Checklist

Anti-PatternFix
Using @MockBean in Boot 4Replace with @MockitoBean
@SpringBootTest for unit testsUse appropriate slice annotation
Missing entityManager.clear()Add to verify lazy loading
High-cardinality test dataUse minimal, focused fixtures
Shared mutable test stateUse @DirtiesContext or fresh containers
No security testsAdd @WithMockUser tests for endpoints

Related Skills

NeedSkill
Security configurationspring-boot-security
Module boundariesspring-boot-modulith
Data layer patternsspring-boot-data-ddd
Controller patternsspring-boot-web-api

Critical Reminders

1. @MockitoBean is mandatory@MockBean removed in Boot 4 2. Slice tests are fast — Use them for focused testing 3. Clear EntityManager — Required to test lazy loading behavior 4. @ServiceConnection simplifies Testcontainers — No more @DynamicPropertySource 5. Test security explicitly — Don't rely on disabled security

Related skills

Testing & QAtestingbackend

This week in AI coding

Five minutes, every Monday - the tools, releases and tactics for developers.

unsubscribe anytime.