代码之家  ›  专栏  ›  技术社区  ›  Arnav Singh

契约的向后兼容性

  •  0
  • Arnav Singh  · 技术社区  · 5 年前

    如何根据所有不同的消费者版本验证协议。每当我尝试测试契约时,它只验证最新的契约。是否有一种方法也可以验证旧的消费者版本。

    Table view

    consumerVersionTags: ['master','production'],
          consumerVersionSelectors: [
            {tag: 'master', latest: true },
            {tag:'production'},
    ]

    0 回复  |  直到 4 年前
        1
  •  0
  •   Matthew Fellows    4 年前

    我不知道你所说的“所有的消费者版本”是什么意思。在所示的图像中,是否有两个版本 1.0.0 2.0.0

    假设 你需要什么。。。

    你需要设置 latest: false docs

    latest :是否仅验证属于最新应用程序版本的协议。最常见的用例是将其设置为true。当false、null或省略时,将验证属于具有指定标记的所有应用程序版本的PACT。这是为了支持当一个API有许多生产版本时的场景,并因此产生契约(例如移动消费者)。

    consumerVersionTags 结合 consumerVersionSelectors ,尤其是当标签重叠时,因为它可能会覆盖选择器(即设置 latest: true