【问题标题】:Pact CDC Testing Best PracticePact CDC 测试最佳实践
【发布时间】:2020-01-21 20:22:49
【问题描述】:

我读过类似this one 的文章,这些文章建议在提供方验证存在于消费者功能分支中的合同,实际上允许在合并到主控之前“预先验证”合同。但是,我已经阅读了 Pact 团队的其他文档,说明相反。在The Steps to Reaching Pact Nirvana 中,它声明“为了在您的提供商的 CI 中保持绿色构建,而不是验证最新的整体协议,它应该验证 CI 中标记为“master”的最新版本的协议。”在这里,我假设“最新的整体协议”一词是指可能存在于发布到 Pact Broker 的消费者功能分支中的协议。

我很困惑。为了不像The Steps to Reaching Pact Nirvana 中所说的那样“让供应商团队不开心”,如果供应商永远不会验证该协议并且只验证“主”和“生产”,那么从消费者的功能分支发布协议的目的是什么契约?另一种问这个问题的方法是什么时候会/应该从功能分支发布/验证协议,而不是消费者和提供者的主分支反对“主”和“生产”协议?

【问题讨论】:

    标签: pact pact-broker


    【解决方案1】:

    请注意,这是有关“有效 Pact 设置”的最新指南:https://docs.pact.io/best_practices/pact_nirvana。希望这更清楚。

    但万一不是,预验证功能分支绝对是 Broker 的核心功能,也是我们想做的事情。一旦更改在 master 中,在 99% 的情况下它应该是一帆风顺的(即兼容的)。标准做法是:a) 有一个 webhook,可以触发提供者构建的协议验证步骤以验证新功能,或者 b) 让提供者中的相应功能分支在推送更改时验证 CI 中的协议。

    还有一个名为“待定协议”的新功能即将推出,它也将极大地改善这种情况,有效地允许任何新合同不会破坏提供者的构建,但如果支持更改,仍会向消费者提供反馈.

    【讨论】:

      猜你喜欢
      • 2020-10-22
      • 2011-06-29
      • 2020-02-05
      • 1970-01-01
      • 1970-01-01
      • 2018-12-01
      • 2022-07-26
      • 2018-08-21
      • 2011-06-09
      相关资源
      最近更新 更多