【发布时间】:2020-09-15 12:09:54
【问题描述】:
鉴于自动化测试的重要性,我想知道是否有可能衡量 Pact 测试的测试覆盖率。
请记住,对于单元测试,大多数框架/IDE 都提供了检查代码的哪些部分被执行的方法,从而检查是否至少代码的每个部分(比如在一个类中)都被某个测试执行了。
相应地,Pact 测试(旨在检查提供者或消费者是否符合 API 规范)通过测试大部分可能的交互来获得可信度。如果是这样,那么它可以通过将其逻辑拆分为一个功能部分来减少 e2e 测试的数量,由一个组件中的单元测试和集成测试覆盖,以及断言两个组件与商定 API 的一致性的协议测试。 (详情请参阅https://docs.pact.io/getting_started/what_is_pact_good_for/。)
鉴于可以通过 enunciate 或 swagger 等库自动发现某些 Web 组件的 REST API,我想知道是否可以将他们的发现与 PACT 测试描述进行比较,以查看是否有任何重要的参数或端点在后者中缺失。 (另外,我不确定这是否意味着加倍努力来提供清晰的注释和 PACT 合同,但在我看来,Java 中的清晰注释并不那么重,即主要通过 REST 注释来识别 REST 端点无论如何都是功能所必需的。)
如果我的问题对于 stackoverflow 来说过于笼统,请告诉我,我宁愿在 stackexchange 等更多学术网站上提问。
【问题讨论】:
标签: automation swagger pact test-coverage enunciate