Spring Cloud合同对提供者状态的使用



我使用的是Spring Cloud Contracts 2.1.1版本,我想使用提供者状态。我知道我可以使用这里和这里描述的场景。例如,我可以使用POST方法契约向DB添加一些状态,然后使用GET/calculate方法契约,该方法契约基于DB中的数据执行一些逻辑(提供者状态(。

但是,如果服务仅由GET/calculate方法的组成(它依赖于外部进程将数据直接加载到DB中(,该怎么办?在缺少API方法的情况下,如何创建提供程序状态?Spring Cloud Contracts有可能吗?

我的理解是,使用Pact,您可以使用任何Java代码初始化提供程序状态,并使该状态成为given@State合同的一部分。对于SpringContracts,我似乎被限制为仅使用API请求(创建一个合约并在场景中使用它(。有人能澄清一下我如何使用一些简单的Java代码将状态直接加载到DB中,并将其作为合同的一部分吗?

在spring云合约中,我们认为您不应该设置提供者状态,这意味着您不应该依赖数据库。你应该模拟服务。如果你真的必须这样做,那么在before方法的基类中,你可以根据需要设置数据库状态

最新更新