用途:为 Java 服务搭建、审查和改进集成测试基础设施,重点是用 WireMock 对外部 HTTP 依赖做桩(stub),避免真实调用外部服务。
主要能力:检测基础设施拓扑,通过扫描 import 识别 HttpClient、feign.、retrofit2.、RestTemplate 等 HTTP 客户端;提供抽象基类 BaseIntegrationTest;使用 WireMockExtension 配合 @RegisterExtension 与 dynamicPort() 动态分配端口;通过 usingFilesUnderClasspath(wiremock) 与 @BeforeAll + System.setProperty() 传递坐标;支持 WireMock JSON 映射文件(bodyFileName 引用 wiremock/files/)和 WireMock DSL 编程式注册桩;按测试方法注册桩以实现隔离;支持故障注入,如 503 服务不可用、withFixedDelay 模拟网络延迟;用 WIREMOCK.verify 做请求校验;使用 test scope 的 wiremock-standalone Maven 依赖。
反模式:全局 @BeforeAll 桩、用 Mockito 模拟 HTTP 客户端、硬编码端口或 URL。
使用方式:先运行 ./mvnw compile 或 mvn compile,若编译失败立即停止,不得继续;阅读 references/132-java-testing-integration-testing.md 并检测集成点;实现基类、映射/桩、按测试隔离与校验;最后运行 ./mvnw clean verify 或 mvn clean verify 做完整验证。
适用场景:审查 Java 集成测试代码、在 Java 项目中应用集成测试最佳实践。
限制:应用任何改动前必须确保项目可编译,编译失败为阻塞条件;参考文档按示例(好/坏代码模式)组织,需按适用示例应用建议。具体平台、收费与价格信息暂未提供。