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

是否自动检查消息提供程序测试是否覆盖了pact文件中的所有方案?

薛欣荣
2023-03-14

在基于http的提供者验证中,使用者可以确信,如果提供者根据pact文件验证其代码(例如,使用maven verify命令),则pact文件中的所有场景(请求)都将根据提供者代码进行测试。对于基于消息的提供程序验证,情况似乎并非如此。在基于消息的情况下,使用者必须希望提供者测试具有为pact文件中的所有场景(消息类型)生成消息的测试方法。例如,如果消息的电话号码字段的值的允许格式由消息的国家/地区字段的值确定,则协议文件中可能有两个消息/方案,一个具有美国国家/地区代码,一个具有美国国家/地区代码。在两个pact文件场景中,国家代码必须精确匹配,电话号码字段必须匹配不同的正则表达式。我意识到无法控制生成消息所涉及的提供者代码的测试量,但至少自动化检查提供者是否对pact文件中的每个消息都有测试,可能有助于保持使用者和提供者的同步。对如何完成这件事有什么想法吗?还是目标与“信息契约”的时代精神不一致?

共有1个答案

厉文栋
2023-03-14

在基于消息的情况下,使用者必须希望提供者测试具有为pact文件中的所有场景(消息类型)生成消息的测试方法

我不懂这个。如果提供者没有为Pact文件中的所有消息生成有效的响应,则Pact测试将失败。

你在你的语言中没有看到这一点吗?

 类似资料:
  • 关于测试提供程序,我有几个问题: 在进行测试之前,是否需要启动提供程序服务?我应该在测试中到达实际的提供者endpoint吗?例如,假设我的提供者代码库上有一个GET/dogsendpoint。运行测试时,是否需要在本地启动服务,点击/dogsendpoint,然后用pact文件验证为该endpoint返回的响应? 如果我想将其作为配置项管道的一部分运行(我使用的是Circloci),那么有哪些最

  • 问题内容: 我写了一个大的sql脚本来创建CSV文件。我想每天晚上调用cronjob来创建一个新的CSV文件,并在网站上提供该文件。 假设我将文件存储在“ /home/sites/example.com/www/files/backup.csv”中 我的SQL是 当文件已经存在时,MySQL给我一个错误 文件“ /home/sites/example.com/www/files/backup.cs

  • 问题内容: 这个: 在html中调用,例如: 向div元素添加一个字符串。正是我想要的。但是,这: 这样称呼: 似乎正在覆盖我的整个html文件。即,当我在Firefox中运行它时,它仅显示字符串(即页面的全部内容),但页面似乎仍在加载(FF的加载图标仍在进行动画显示,显然是无限的)。 首先,这将仅在本地,离线使用,作为呈现数据的快速便捷方式(使用html + js和网络浏览器而不是纯文本文件)。

  • 测试运行的结果如下: 由于使用本地协议文件会使测试变为绿色,我想原因不在我的测试类代码中,不过如果有帮助的话,我在这里提供它: 由于使用本地协议文件不是一个选项,我真的想知道如何修复错误,并将感谢任何有帮助的意见。

  • 我的@SpringBootApplication注释存在于包中。 根据本文,使用@SpringBootApplication注释等同于使用@Configuration、@EnableAutoConfiguration和@ComponentScan及其默认属性:- https://docs.spring.io/spring-boot/docs/2.0.x/reference/html/using-b

  • 我试图获取数组的每个元素并检查它是否是回文。如果给定数组中的所有元素都是回文,那么它应该返回1,如果不是,那么它应该返回0。 例如输入5 111 222 333 444 555预期输出1我的输出0 谢谢你的帮助。