【问题标题】:What are some ways to automatically test Swagger endpoints? [duplicate]有哪些方法可以自动测试 Swagger 端点? [复制]
【发布时间】:2018-11-05 14:36:17
【问题描述】:

构建一个 C# .NET Core API,我想在由 Swagger 作为我构建的一部分生成的文档中自动测试端点。

是否有一些预构建的包或工具可以用来轻松完成此操作?

【问题讨论】:

    标签: unit-testing automated-tests swagger integration-testing


    【解决方案1】:

    不再有过时的 API 文档。

    这是Dredd 的承诺。所以应该能帮到你

    在我的构建过程中由 Swagger 生成的文档中自动测试端点

    我在一个项目中使用过它,它会读取描述并逐步验证您的 API 实现是否按照描述的方式回复响应。不过,有一个问题。它无法扩展以适应真正的测试框架,该框架可以帮助您通过后端覆盖复杂的(链接的)用户旅程。如果你走这条路,它将引入巨大的开销。但是,如果您需要简单的文档验证 - 它工作得很好。它很容易成为您的第一道防线,即 CICD 管道的阶段。

    【讨论】:

      【解决方案2】:

      Postman 具有 beta API 函数,可以导入 OAS 文档(有一些限制),然后根据规范生成集合。然后,您可以添加测试并相当轻松地运行它们。 https://learning.getpostman.com/docs/postman/design_and_develop_apis/the_api_workflow/

      我认为我们需要的是指定测试断言的 OAS3 扩展。然后 Postman 或其他人可以直接根据规范生成自动化测试。

      【讨论】:

        【解决方案3】:

        还有Schemathesis,它利用基于属性的测试并为 Open API 2/3 模式生成和运行测试。默认情况下,它不需要配置,可以作为 CLI 工具使用。它还验证模式中指定的所有示例,这些示例与某些 Dredd 功能重叠 - 但您不必指定所有示例;该工具将生成所有缺失的内容。

        【讨论】:

          猜你喜欢
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 2015-10-23
          • 2016-08-28
          • 1970-01-01
          • 2011-02-15
          • 1970-01-01
          • 1970-01-01
          相关资源
          最近更新 更多