首页
学习
活动
专区
圈层
工具
发布

PACT与硒
EN

Stack Overflow用户
提问于 2018-05-03 09:10:20
回答 1查看 358关注 0票数 3

我是一名自动化工程师,我想知道pact是否能在任何方面帮助我们增加测试覆盖率

我刚接触PACT,但我在想,是否可以用现有的selenium web测试生成一个pact文件?

合同可以以不同的方式使用。2个不同的web应用程序使用相同的 API,可以以不同的方式使用它。

我们的web应用程序使用了一组特定的API,这些API还会在http、post等方面产生,因此原则上可以以这种方式生成pact文件。

它传递了契约的原意,消费者和生产者共同致力于合同的完善。

有什么想法吗?

EN

回答 1

Stack Overflow用户

发布于 2018-05-03 09:36:16

这不适合“契约”工具。下面让我复制/粘贴一节最佳实践信息。

使用Pact进行隔离(单元)测试

  • 作为模拟(对模拟的调用在测试之后被验证),而不是存根(对存根的调用没有被验证)。使用Pact作为存根不符合使用Pacts的目的。
  • 用于孤立的测试(如:负责从Consumer应用程序到Provider应用程序的HTTP调用的类(Es)的单元测试,而不是对整个使用者代码库的集成测试。
  • 小心,在您的使用者代码库中进行任何类型的功能测试或集成测试。

为什么?

如果在集成测试中使用完全匹配的Pact,则会使自己发疯。您将进行非常脆弱的Consumer测试,因为Pact检查每个传出路径、JSON节点、查询param和标头。您还将得到一个笛卡尔式的交互爆炸,需要在Provider端进行验证。这将增加您花费在通过Provider测试上的时间,而不会有效地增加测试覆盖率。

Pact是一个契约测试工具,而不是一个通用的顽固或嘲弄工具。契约的最佳使用涉及尽可能少地测试与HTTP请求/响应无关的代码。这将保持测试的快速性和可维护性。

票数 4
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/50151147

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档