我是一名自动化工程师,我想知道pact是否能在任何方面帮助我们增加测试覆盖率
我刚接触PACT,但我在想,是否可以用现有的selenium web测试生成一个pact文件?
合同可以以不同的方式使用。2个不同的web应用程序使用相同的 API,可以以不同的方式使用它。
我们的web应用程序使用了一组特定的API,这些API还会在http、post等方面产生,因此原则上可以以这种方式生成pact文件。
它传递了契约的原意,消费者和生产者共同致力于合同的完善。
有什么想法吗?
发布于 2018-05-03 09:36:16
这不适合“契约”工具。下面让我复制/粘贴一节最佳实践信息。
使用
Pact进行隔离(单元)测试
Pact作为存根不符合使用Pacts的目的。Consumer应用程序到Provider应用程序的HTTP调用的类(Es)的单元测试,而不是对整个使用者代码库的集成测试。为什么?
如果在集成测试中使用完全匹配的Pact,则会使自己发疯。您将进行非常脆弱的Consumer测试,因为Pact检查每个传出路径、JSON节点、查询param和标头。您还将得到一个笛卡尔式的交互爆炸,需要在Provider端进行验证。这将增加您花费在通过Provider测试上的时间,而不会有效地增加测试覆盖率。
Pact是一个契约测试工具,而不是一个通用的顽固或嘲弄工具。契约的最佳使用涉及尽可能少地测试与HTTP请求/响应无关的代码。这将保持测试的快速性和可维护性。
https://stackoverflow.com/questions/50151147
复制相似问题