此版本仍在开发中,尚不被认为是稳定的。对于最新的稳定版本,请使用 spring-cloud-contract 4.3.0! |
存根运行器 Spring Cloud
存根服务发现
最重要的特点Stub Runner Spring Cloud
是它存根的事实:
-
DiscoveryClient
-
ReactorServiceInstanceLoadBalancer
这意味着,无论您是使用 Zookeeper、Consul、Eureka 还是任何否则,您在测试中不需要它。我们正在启动您的依赖项的 WireMock 实例,并且无论您使用Feign
,加载 平衡RestTemplate
或DiscoveryClient
直接调用那些存根服务器而不是调用真正的服务发现工具。
测试配置文件和服务发现
在集成测试中,您通常不希望调用发现服务(例如 Eureka)或 Config Server。这就是为什么您创建要在其中禁用这些功能的其他测试配置。
由于某些限制spring-cloud-commons
, 为此,您必须禁用这些属性在静态块中,例如以下示例(对于 Eureka):
//Hack to work around https://github.com/spring-cloud/spring-cloud-commons/issues/156
static {
System.setProperty("eureka.client.enabled", "false");
System.setProperty("spring.cloud.config.failFast", "false");
}
其他配置
您可以匹配artifactId
存根的存根,使用应用程序的名称stubrunner.idsToServiceIds:
地图。
默认情况下,所有服务发现都是存根的。这意味着,无论您是否拥有现有的DiscoveryClient ,则忽略其结果。但是,如果要重用它,可以将stubrunner.cloud.delegate.enabled 自true ,然后是现有的DiscoveryClient 结果是与存根合并。 |
Stub Runner 使用的默认 Maven 配置可以进行调整通过设置以下系统属性或设置相应的环境变量:
-
maven.repo.local
:自定义 Maven 本地存储库位置的路径 -
org.apache.maven.user-settings
:自定义 Maven 用户设置位置的路径 -
org.apache.maven.global-settings
:Maven 全局设置位置的路径