用途:为 Java 服务搭建稳健的集成测试基础设施,用 WireMock 桩替外部 HTTP 依赖,适用于审查或编写 Java 集成测试、改进 Testcontainers 集成测试、检查测试的搭建与清理。
主要能力:检测基础设施拓扑(扫描 HttpClient、feign.、retrofit2.、RestTemplate 导入);提供抽象基类 BaseIntegrationTest;使用 WireMockExtension 配合 @RegisterExtension 与动态端口 dynamicPort();通过 usingFilesUnderClasspath(wiremock)、@BeforeAll 与 System.setProperty() 传递坐标;支持 WireMock JSON 映射文件(bodyFileName 引用 wiremock/files/)与 DSL 编程式注册桩;按测试方法隔离桩;故障注入(503 服务不可用、withFixedDelay 网络延迟);用 WIREMOCK.verify 校验请求;wiremock-standalone Maven 依赖(test 作用域)。同时列出反模式:全局 @BeforeAll 桩、用 Mockito 模拟 HTTP 客户端、硬编码端口或 URL。
使用方式:先运行 ./mvnw compile 或 mvn compile,若编译失败立即停止,不得继续;阅读 references/132-java-testing-integration-testing.md 并检测集成点;实现 BaseIntegrationTest、WireMock 映射/桩、按测试隔离与校验模式;最后运行 ./mvnw clean verify 或 mvn clean verify 做完整验证。
限制:应用任何集成测试改动前必须确保项目可编译,编译失败为阻塞条件;参考文档按示例(好/坏代码模式)组织,需按适用示例应用建议。其他细节暂未提供。