【问题标题】:Workflow for Pact Testing in Feature Branches功能分支中的 Pact 测试工作流程
【发布时间】:2020-02-19 13:37:26
【问题描述】:

我目前正在尝试使用 Pact,但偶然发现了工作流程的问题,但找不到令人满意的解决方案。所以希望有人可以帮助我。 :-)

首先,这是我目前在消费者方面进行更改的工作流程:

  1. 消费者更改上传到 Github 的功能分支中
  2. Pact 测试在 CI 系统上运行,生成的 pact 使用标签 [feature-branch-name]verify_feature 上传到 pact broker(目前我只使用后一种)
  3. 消费者等待验证(使用 can-i-deploy 工具)
  4. pact 代理通过 webhook 触发提供者(触发器:contract_content_changed
  5. 供应商对标记为 verify_feature 的最新版本运行 pact-verify 并上传结果
  6. 消费者检查结果,如果验证成功则可以合并分支

到目前为止一切顺利。当消费者引入破坏性更改时,问题就出现了:
消费者将更改上传到 Github 后,执行上述过程,提供者验证失败,进而导致消费者构建失败。

现在在提供商方面进行了必要的更改。提供者针对测试阶段的消费者版本运行 pact-verify,如果成功,则合并和部署新版本。

现在新的消费者版本也应该可以合并了。唉,它不起作用,因为这个版本没有再次验证。当我重新启动 CI 作业时,协议会重新上传到协议代理,但由于协议内容没有更改,因此不会触发 webhook。消费者版本从未经过验证。

那么,我做错了什么?

【问题讨论】:

    标签: pact


    【解决方案1】:

    您需要新的 WIP 协议功能。它目前正在开发中,如果您想试用它,可以在几天内在 pact-js(和其他包装 pact-ruby-standalone 的语言)中进行 beta 测试。如果您使用的是 pact-jvm,则需要等待更长时间,但我们可能会提供解决方法。我已经写了一篇关于 WIP 协议的博客文章,但还没有发布,因为该功能还没有准备好公开发布。你可以在这里找到帖子http://blog.pact.io/p/51906e22-ccce-486b-9993-c21794e557d4/ 我很想得到你的反馈。

    如果您想进一步讨论此问题,请访问 slack.pact.io 并@我。

    【讨论】:

      猜你喜欢
      • 2011-09-14
      • 1970-01-01
      • 1970-01-01
      • 2013-07-09
      • 1970-01-01
      • 2011-04-18
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多