spring-cloud-contract 是否可以在没有存根运行器的情况下测试消费者端

Is it possible to test consumer side without stub runner in spring-cloud-contract

目前想测试通过spring云合约在消费者端调用其他微服务的错误处理。但是由于很难在 docker CI build.

中共享构建工件,所以有一些麻烦阻止我在提供者端创建存根

我想知道是否可以在消费者端创建 groovy 或 yaml 联系人,然后通过 wiremock 服务器使用它们?

有很多方法可以实现。一是克隆生产者的代码 运行 ./mvnw clean install -DskipTests./gradlew publishToMavenLocal -x test 并安装存根而不 运行 进行任何测试。另一种选择是编写自己的 StubDownloaderBuilder(对于 Finchley),它将像 AetherStubDownloader 一样通过 Aether 获取合约,但随后也会自动将合约转换为 WIreMock 存根。

当然这两种方法都是"cheating"。在生产者实际发布存根之前,您不应该在 CI 系统中使用存根。

也许与其破解系统,不如分析一下

provider side due to it's difficult to share build artifacts in docker CI build.

并尝试修复它?为什么难?究竟是什么问题?