我对外部模拟服务器有疑问。我的设置是:
- 我有一个要测试的API
- 该服务在内部调用数据库,网关,付款聚合器,它们具有自己的URL
- 我控制可以调用的模拟网址。但是,如果它是内部启动的,我如何在不更改代码的情况下对其进行模拟?
例如我打电话给服务
- 我打电话给我可以嘲笑的付款服务负责人
- 我的控制器调用java模块如何调用网关呢?
我想模拟该网关而不是控制器。我看到了karate-netty和Proxy的所有示例。代理在host:port之后跟踪所有请求,但是在我的情况下,主机将是真实主机,代理将如何跟踪它?
看起来我尝试了很多,但没有得到完美的解决方案
这不是关于空手道的问题,因为您想使代码更具可测试性。
您的调用其他服务的控制器必须知道如何请求服务。我希望您至少拥有某种配置文件,其中指定了所有url和其他应用程序属性。
在更复杂的环境中,例如,我希望通过领事进行某种服务发现。
您可以做的最简单的事情是在控制器中读取系统或环境属性,以使服务url可配置。