当前位置: 首页 > 知识库问答 >
问题:

如何强制契约制作者验证特定的契约版本?

都飞跃
2023-03-14

我正在与Maven一起使用Pact JVM/Java(Version3)。pom.xml中没有项目版本控制--它只是1.0.0-Snapshot版本。在Pact Maven插件中配置的ProjectVersion与Maven project version-1.0.0-Snapshot相同。

我应该玩projectversion标签吗?我是否应该升级到Pact版本4并使用消费者版本选择器?

共有1个答案

邹弘
2023-03-14

所以我想您是在询问如何将Pact测试有效地添加到您的CI/CD管道和特性开发工作流中?

  1. 有效协议设置指南
  2. CI/CD研讨会

第一个文档解释了一般方法,(2)是一个您可以遵循的实施步骤的讲习班(在JS中)。无论您使用什么语言(在您的例子中是Java),这些原则都是相同的。

但是,具体来说,您肯定需要使用标记来防止新特性标记破坏提供程序的主构建(例如,由使用者创建的featurea,不会破坏只查找productiondevelopment的提供程序)。

您可能还想看看挂起的契约(请参阅https://docs.pact.io/pending和https://docs.pact.io/implementation_guides/jvm/provider/junit5/#pending-pact-support-version-410-and-later),这是一个新的特性,可以防止新契约破坏提供商。

版本控制

因此,您需要向代码中添加更具体的版本,以便有效地使用Pact(以及代理提供的工作流)。您可以使用Pact.Provider.Version系统属性(例如system.SetProperty(“Pact.Provider.Version”,“Some git SHA”);)来指定这一点

我们建议在版本中使用您的修订控制SHA。

 类似资料:
  • 关于本话题请先参考验证契约一节的介绍。 使用rake pact:verify 使用pact:verify任务是最常见的验证契约的方式。这也是配置你的服务提供者应遵守的契约的默认集之处。 在Rakefile中引入'pact/tasks'就可以使用了。 # In Rakefile require 'pact/tasks' # Remember to add it to your default Ra

  • “验证契约”是Pact测试过程中的第二步。契约文件中的每个请求会在提供者上进行重放,所返回的响应将会被用于与契约文件中的期望响应进行对比,如果两者匹配,我们就可以确信消费者和提供者能够保持兼容。 要验证契约,应该这样做: 配置待验证契约的位置。可以是一个HTTP URL,也可以是一个本地文件系统路径。 在提供者状态中预置数据。 (可选项)对将被用于播放请求的服务提供者应用进行配置。 关于如何在代码

  • 在自由软件项目中的契约需要小心处理。理想状况下,你希望一个承包者的工作被社区接受并打包进入公共发布版本。在理论上,谁是承包者并不重要,只要他的作品足够好并满足项目的指导方针。理论和实践一般也是一致的:一个通过贡献好的补丁展示自己的完全陌生人通常能将代码置入软件当中。问题是,一个完全的陌生人很难为非琐碎的改进或新的特性贡献好的补丁;一个人必须首先和项目的其他人进行讨论。讨论的时间不能精确预测。如果承

  • 契约就是指用去中心化的比特币系统来执行金融协议。比特币的契约可以让交易最大程度地摆脱对外部机构的依赖,例如审判系统等,这样在金融交易方面就大大减少了受未知实体影响的风险。 以下的一些部分会详细说明现有的几种比特币契约。因为契约并不仅局限于交易,更是直接和现实的人相关的协议,所以他们也有既定的框架,这些框架将会在后面的内容中有详细的解读说明。 除了以下介绍的几种契约方式外,还有人提出其他的方式。有一

  • 简介 Laravel 的契约是一组定义框架提供的核心服务的接口。例如,Illuminate\Contracts\Queue\Queue 契约定义了队列任务所需的方法,而 Illuminate\Contracts\Mail\Mailer 契约定义了发送电子邮件所需的方法。 框架对每个契约都提供了相应的实现。例如,Laravel 提供了具有各种驱动的队列实现和由 SwiftMailer 提供支持的邮件

  • 主要内容:一、前情概要,二、背景引入,三、问题凸现一、前情概要 这篇文章给大家聊聊Hadoop在部署了大规模的集群场景下,大量客户端并发写数据的时候,文件契约监控算法的性能优化。 看懂这篇文章需要一些Hadoop的基础知识背景,还不太了解的兄弟,可以先看看之前的文章:《干掉几百行的大SQL,我用Hadoop》 二、背景引入 先给大家引入一个小的背景,假如多个客户端同时要并发的写Hadoop HDFS上的一个文件,大家觉得这个事儿能成吗? 明显不可