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

按顺序运行Pact提供程序测试类

司徒墨竹
2023-03-14

我正在使用pact-jvm提供程序Spring。我有两个不同的pact(.json)文件,比如(order.json和irs.json),我需要按顺序运行它们(order后面是irs),但是根据字母顺序选择测试类,irs首先运行,order其次运行。是否有方法调用、执行特定的测试类提供程序状态或定义测试类执行顺序?

共有1个答案

龙凯
2023-03-14

Pact并不是端到端测试的工具,事实上,Pact声明的目标之一是减少或在某些情况下完全消除对E2E测试的需求。

我们不做端到端测试,而是使用契约测试来避免做那件事的需要。这样做有很多好处,包括能够分别测试和发布东西,避免了管理测试环境和数据的需要,减少了测试本身中的耦合/排序。此外,它应该能够在您的笔记本电脑上或配置项构建上运行--您不需要针对部署到实际环境中的正在运行的提供程序进行测试。

如果您必须以特定的顺序运行一组这些测试,那么您就做错了

这里有一些链接可以帮助你更好地理解我的意思:

https://docs.pact.io/consumer/contract_tests_not_functional_tests https://docs.pact.io/faq/#do-i-stily-need-end-to-end-tests https://docs.pact.io/geting_started/what_is_pact_good_for

我还建议您完成我们的一个研讨会,可能是https://github.com/dius/pact-workshop-jvm。

它需要大约1个小时,但非常值得你的时间,因为所有的核心概念都被清楚地解释了。

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

  • 我想为我的客户和API建立契约测试。我的API不能在本地运行,所以我希望能够在部署到生产之前,针对已部署的API临时版本运行提供程序测试。 我在网上看到的提供程序测试的大多数示例都使用了localhost。当尝试对我部署的HTTPSendpoint运行提供程序测试时,测试失败,显示。是不支持HTTPS协议,还是我遗漏了什么? 使用pact-provider-verifier cmd line工具工

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

  • 如何按特定顺序运行quarkus测试?通常我们有@InSequence注释(来自arquillian IIRC),我们可以实现这一点。 但是我没有找到任何类似的Quarkus在"org.junit.jupiter.api"软件包提供Quarkus-朱尼5。 它将以一个替代的顺序运行,我试图使用org.junit.jupiter.api.顺序与@Testmetodorder(方法命令。nnotati

  • 我们有一个提供程序测试,只是在Jenkins上失败了,这阻止了我的调试。 (有些省略……) 交互在pact文件中如下所示: 我的印象是名称应该匹配type而不是确切的值,而且在diff中似乎有一个“name”字段。