我正在尝试在我们公司引入 Pact 框架,提出的问题之一如下:
场景:这个 xyz API 被 40 个消费者调用,每个消费者当前需要相同的功能。那么我们为什么要维护 40 个 Pact Files 而不是仅仅维护一个文件呢?
考虑到协议文件的维护,有没有比为每个消费者拥有一份协议文件更好的方法?
如果您有 40 个消费者使用完全相同的功能,那么使用单个协议文件进行所有这些交互不会有问题。
但是,我发现这很难相信这是你的情况,而且据我在现实中看到的,从未真正发生过。您的提供者可能拥有所有这些功能,但每个消费者不必测试该功能,除非您的消费者实际使用它。此外,每个消费者可能有不同的方式来调用/访问具有不同类型的数据、标头或 URL 的此功能,这使其独一无二,需要针对所有潜在的边缘情况对提供者进行全面测试。
此外,除非消费者更新以使用此新功能,否则没有理由更新协议文件。重点是尝试为每个消费者-提供者交互创建独立的文件;但是,当您有多个消费者到提供者时,这确实会增加维护。
我们将听取您的反馈,看看我们可以为产品的未来做些什么,以使维护更容易进行或将影响降至最低。