短跑者春云
Stubbing 服务发现
最重要的特征短跑者春云是它有以下短板:
-
发现客户端 -
ReactorServiceInstanceLoadBalancer
这意味着,无论你用的是Zookeeper、Consul、Eureka还是其他什么
否则,你的考试中不需要这些。我们正在启动 WireMock 实例
依赖关系,我们告诉你的应用程序,无论你使用何时装,加载
平衡Rest模板或发现客户端直接呼叫那些已存活的服务器
而不是调用真正的服务发现工具。
测试配置文件与服务发现
在你的集成测试中,通常不应该调用发现服务(比如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(遗物ID通过使用spring.cloud.contract.stubrunner.idsToServiceIds:地图。
默认情况下,所有服务发现都是被存根的。这意味着无论你是否拥有
现存发现客户端其结果被忽略。不过,如果你想重复使用,可以设置spring.cloud.contract.stubrunner.cloud.delegate.enabled自true然后是你现在的发现客户端结果如下
与被撞击的部分合并。 |
Stub Runner 默认的 Maven 配置可以被调整 通过设置以下系统属性或设置相应的环境变量:
-
maven.repo.local: 通往自定义 Maven 本地仓库位置的路径 -
org.apache.maven.user-settings: 通往自定义Maven用户设置位置的路径 -
org.apache.maven.global-settings(全球布局): 路径 to maven 全局设置位置