SuperAPI AI 工具集

spring-testing

测试与质量

查看项目

更新于 10-16 03:43

技能介绍

用途:面向 Spring Boot 应用的测试技能,覆盖从单元测试到集成测试的完整测试金字塔,帮助编写控制器、数据层与外部服务相关的测试。

主要能力:核心部分包括测试切片(@WebMvcTest、@DataJpaTest、@JsonTest)、MockMvc 无完整服务器下的控制器测试、Mockito 依赖模拟;进阶部分包括 TestContainers 借助 Docker 做真实数据库测试、WireMock 模拟外部服务、@WithMockUser 安全测试;高级部分包括 Spring Cloud Contract 契约测试、响应时间断言性能测试以及可复用的自定义测试切片。

参数:test_type(枚举,可选,默认 unit,取值 unit | integration | e2e);slice(枚举,可选,取值 web | data | json);mock_strategy(枚举,可选,默认 mockito,取值 mockito | mockbean | wiremock)。

使用方式:通过 Skill("spring-testing") 调用。示例涵盖 @WebMvcTest 配合 @MockBean 与 MockMvc 断言状态码和 jsonPath、@DataJpaTest 配合 @Testcontainers 与 @ServiceConnection 使用 PostgreSQLContainer、@SpringBootTest(webEnvironment = RANDOM_PORT) 配合 TestRestTemplate 的集成测试,以及 @WireMockTest 桩外部支付接口。

适用场景:需要为 Spring Boot 控制器、JPA 仓库、外部依赖和整体应用编写分层测试的 Java 项目。

限制与排错:资料列出常见失败模式,如上下文未加载需添加 @TestConfiguration、MockBean 不生效需检查组件扫描包路径、TestContainers 超时需启动 Docker 守护进程;调试清单建议检查测试注解、MockBean 配置、TestContainers 启动状态、application-test.yml 是否加载并开启测试调试日志。版本历史显示 2.0.0 适配 TestContainers 1.19+ 与 WireMock 3.x 模式。其余收费、平台等信息暂未提供。