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

XML文件交换的契约测试

姬银龙
2023-03-14

我们对使用rest调用和kafka消息进行通信的服务使用pact契约测试。我们还希望在通过sftp服务器交换(xml)文件的服务之间实现一个类似的契约测试框架。我可能可以使用message pact框架,并将文件的内容视为消息的内容,但我想知道是否有更好的替代方案。无论我如何处理交换文件的消费者和生产者之间的契约测试,我也将不得不处理如何验证xml代码,因此在这方面的任何建议也将非常感谢。

共有1个答案

杜辉
2023-03-14

Pact框架对经验证的互动内容没有任何限制。您可以将它与XML或任何其他类型的数据一起使用。JSON的主要特点是有很好的DSL支持为JSON有效负载定义契约。对于其他类型的数据,支持度就不是那么好了。我们已经开始添加对XML的DSL支持,但这还处于早期阶段。

您可以像对待异步消息一样对待您的文件,其中的传输机制是一个SFTP站点。然后可以使用消息契约格式为这些文件创建契约测试。您的提供者就是将文件写入服务器的人,而使用者就是读取文件的人。合同将在这两个系统之间,您可以抽象出XML文件是通过SFTP服务器传输的。

然而,对于您的特定情况,我想知道使用XSD来验证文件是否足够?

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

  • 对于刚开始正式接触契约测试的团队,对于契约测试和功能测试之间的区别经常会存在争论。难就难在其实并不存在什么非黑即白的答案,更为重要的应该是逐渐加深对契约测试的理解和使用。 使用契约测试常见的场景,是验证规则或者处理错误请求。例如,我们有一个用户服务,允许消费者使用POST请求注册新用户,并在HTTP Body中包含所创建用户的详细信息。 一个简单的消费者与提供者交互的常规场景如下所示: Given

  • 本文向大家介绍契约测试(contract test)是什么?相关面试题,主要包含被问及契约测试(contract test)是什么?时的应答技巧和注意事项,需要的朋友参考一下 根据 Martin Flower 的说法,契约测试是在外部服务边界进行的测试,用于验证其是否符合消费者服务预期的契约。 此外,契约测试不会深入测试服务的行为。相反,它测试服务调用的输入和输出包含所需的属性和响应延迟,吞吐量在

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

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