pact - Pact 提供程序是应用程序还是 Api 端点?

我们有一种情况,我们有一个托管 10-20 个 API 的应用程序,我们计划为其实施接触测试。每个 Api 对消费者应用程序有一个 pact 还是对作为提供者的应用程序有一个 pact 并且每个 Api 作为单独的交互会更好吗?

回答1

pact(合同)通常在两个应用程序之间。如果提供者应用程序提供多个端点或资源(我认为您将其称为“API”),那么它们将被建模为一个或多个交互(测试用例)。

...或者一个 pact 用于充当提供者且每个 Api 充当单独交互的应用程序?

这就是你想要的,我想。

回答2

有一些流行的 CDC(Consumer Driven Contracts) 测试解决方案,Spring 提供了与 Spring 紧密集成的 Spring Cloud Contracts,Pact 是 CDC 的另一个很好的解决方案。

https://github.com/hantsy/spring-microservice-sample中,我提供了使用Pact 和Spring 云合约的示例。

API 消费者(使用 API)和提供者(提供 API)双方维护合约以确保 API 的一致性。

理想情况下,每个 API 的合同应该针对每个消费者(如果您遵循 B4F 模式,否则我们可以忽略与消费者的差异)和每个版本。例如。用户客户端 v1.0 和 v2.0 可能不同。

相似文章

pact - 模拟系统依赖

我正在开发一个调用外部API的系统,其中一些由我的公司拥有,而另一些则不是。我的系统由一个HTTP接口组成,该接口接受订单并将其发布到消息队列中以运行操作链。我的系统由3个NodeJS进程(1个用于H...

最新文章