0

我正在使用 Pactman 和 pact-python 为 CDC 测试做 POC。我能够生成协议文件并使用提供者 Base url 验证协议,而无需注册到协议代理,我正在使用以下方法。它将检查任何失败,这是最佳实践还是我需要使用代理?

import re
result = []
win_cmd = 'pact-verifier --provider-base-url=https://jsonplaceholder.typicode.com --pact-url=./src/Consumer-Provider-pact.json'
process = subprocess.Popen(win_cmd,
shell=False,
stdout=subprocess.PIPE,
stderr=subprocess.PIPE )
for line in process.stdout:
    #print(line)
    result.append(line)

status = re.split('failure|failures',str(result))[-2].split(',')[-1]
if int(status) == 0:
    print('success')
4

1 回答 1

0

请参阅https://docs.pact.io/pact_broker/#why-do-i-need-one

您可以在没有 Pact Broker 的情况下完成协议生成和验证步骤,但是,如果没有经纪人,您将无法实现使用 Pact 进行合约测试的全部好处。您将错过的主要两件事是:

  • 在部署应用程序之前确保通过合同测试的能力
  • 使用合约来确保服务之间的向后兼容性
  • 能够在协议更改时触发验证

Pact Broker 允许您将 Pact 构建到您的发布管道中。但是,如果您刚刚开始,请尝试让管道在没有管道的情况下工作,然后看看您的进展如何。当您准备好尝试更高级的东西时,请开始使用。

阅读Effective Pact 设置指南,了解如何将 Pact 逐步添加到 CI/CD 管道中。

于 2020-07-03T02:02:13.343 回答