mcpField
S
spring-testing-fundamentals

spring-testing-fundamentals

github.com/spring-ai-community测试与质量5245 次安装27 周前更新
代码仓库

关于 spring-testing-fundamentals

面向 Spring 开发者的通用测试技能,涵盖 AssertJ、Mockito 和 JUnit 5,并提供测试切片选择、上下文缓存及 Boot 4 注解迁移指导。

主要功能

  1. 01AssertJ 断言模式
  2. 02Mockito 存根与验证
  3. 03ArgumentCaptor 用法
  4. 04测试切片选择指导
  5. 05上下文缓存与 @DirtiesContext
  6. 06Boot 4 注解迁移

适用场景

  1. 01为 Spring 应用编写单元测试
  2. 02选择 Spring 测试切片注解
  3. 03排查上下文缓存导致的测试缓慢

安装

复制下面的命令,在终端中运行。

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

安装后在 Claude Code 中输入/spring-testing-fundamentals确认已加载。

附带文件references/assertj-mockito-idioms.mdreferences/cross-cutting-testing-patterns.md

详细介绍

Spring 测试基础

信号:assertThat、assertThatThrownBy、given/willReturn、then(mock).should、ArgumentCaptor、@MockitoBean、@MockitoSpyBean、@DirtiesContext、上下文缓存、测试金字塔

测试环境

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

以下情况请勿使用此技能

你需要特定领域的模式:

  • 测试 JPA 存储库、Testcontainers、@DataJpaTest → 使用 spring-jpa-testing
  • 测试 REST 控制器、MockMvc、@WebMvcTest → 使用 spring-mvc-testing
  • 测试安全功能、@WithMockUser、JWT、OAuth2 → 使用 spring-security-testing
  • 测试响应式控制器、@WebFluxTest、StepVerifier → 使用 spring-webflux-testing
  • 测试 WebSocket/STOMP → 使用 spring-websocket-testing

何时阅读参考资料

情况阅读
AssertJ 标量、可选值、BigDecimal、集合、异常references/assertj-mockito-idioms.md
BDDMockito given/willReturn、then(mock).should、参数匹配器references/assertj-mockito-idioms.md
ArgumentCaptor 的用法和验证模式references/assertj-mockito-idioms.md
UnnecessaryStubbingException 和严格存根的修复方法references/assertj-mockito-idioms.md
Boot 4 中的 @MockitoBean 与 @MockitoSpyBeanreferences/assertj-mockito-idioms.md
测试金字塔:何时使用各类切片注解references/cross-cutting-testing-patterns.md
上下文缓存:测试为何运行缓慢、缓存键、@DirtiesContext 的影响references/cross-cutting-testing-patterns.md
适用于所有 Spring 测试类型的通用反模式references/cross-cutting-testing-patterns.md
Boot 4 注解迁移检查清单references/cross-cutting-testing-patterns.md

评论

支持 Markdown