空手道如何模拟外部集成URL

时间:2019-12-12 21:30:03

标签: java karate

我对外部模拟服务器有疑问。我的设置是:

  1. 我有一个要测试的API
  2. 该服务在内部调用具有自己的URL的Database,Gateways,付款聚合器
  3. 我控制可以调用的模拟网址。但是,如果它是内部启动的,我如何在不更改代码的情况下对其进行模拟?

例如,我致电服务

  1. 我打电话给我可以模拟的付款服务负责人
  2. 我的控制器调用java模块如何调用网关

我想模拟该网关而不是控制器。我看到了karate-netty和Proxy的所有示例。代理跟踪host:port之后的所有请求,但是在我的情况下,主机将是真实主机,代理将如何跟踪它?

看起来我尝试了很多,但没有得到完美的解决方案

1 个答案:

答案 0 :(得分:1)

这不是有关空手道的问题,因为您想使代码更具可测试性。

调用其他服务的控制器必须知道如何请求服务。我希望您至少拥有某种配置文件,其中指定了所有url和其他应用程序属性。

在更复杂的环境中,我希望例如通过领事进行某种服务发现。

最简单的操作是在控制器中读取系统或环境属性,以使服务url可配置。