【发布时间】:2018-11-05 14:36:17
【问题描述】:
构建一个 C# .NET Core API,我想在由 Swagger 作为我构建的一部分生成的文档中自动测试端点。
是否有一些预构建的包或工具可以用来轻松完成此操作?
【问题讨论】:
标签: unit-testing automated-tests swagger integration-testing
构建一个 C# .NET Core API,我想在由 Swagger 作为我构建的一部分生成的文档中自动测试端点。
是否有一些预构建的包或工具可以用来轻松完成此操作?
【问题讨论】:
标签: unit-testing automated-tests swagger integration-testing
不再有过时的 API 文档。
这是Dredd 的承诺。所以应该能帮到你
在我的构建过程中由 Swagger 生成的文档中自动测试端点
我在一个项目中使用过它,它会读取描述并逐步验证您的 API 实现是否按照描述的方式回复响应。不过,有一个问题。它无法扩展以适应真正的测试框架,该框架可以帮助您通过后端覆盖复杂的(链接的)用户旅程。如果你走这条路,它将引入巨大的开销。但是,如果您需要简单的文档验证 - 它工作得很好。它很容易成为您的第一道防线,即 CICD 管道的阶段。
【讨论】:
Postman 具有 beta API 函数,可以导入 OAS 文档(有一些限制),然后根据规范生成集合。然后,您可以添加测试并相当轻松地运行它们。 https://learning.getpostman.com/docs/postman/design_and_develop_apis/the_api_workflow/
我认为我们需要的是指定测试断言的 OAS3 扩展。然后 Postman 或其他人可以直接根据规范生成自动化测试。
【讨论】:
还有Schemathesis,它利用基于属性的测试并为 Open API 2/3 模式生成和运行测试。默认情况下,它不需要配置,可以作为 CLI 工具使用。它还验证模式中指定的所有示例,这些示例与某些 Dredd 功能重叠 - 但您不必指定所有示例;该工具将生成所有缺失的内容。
【讨论】: