如何使用Swagger验证测试中的API?

wha*_*iff 8 java api validation continuous-integration swagger

我正在试图找出让我的API文档成为事实来源的最佳方法,并使用它来理想地通过集成测试或类似的东西来验证实际的Java REST代码.我们使用合同优先或消费者合同类型的方法,因此我们不希望文档必须从带注释的代码生成,并且每次开发人员进行更改时都要更新.

一种想法是使用Swagger,但我不确定如何最好地将其用于验证API.理想情况下,在构建或集成测试过程中进行验证以查看真实响应(如果可能请求)是否与预期匹配是一件好事.我知道Swagger有很多用途和工具,只是想绕过它.或者,如果有更好的替代方法来使用Java代码.

Wil*_*eng 5

最近,我们(swagger-codegen 社区)开始向 API 客户端(C#、PHP、Ruby)添加自动测试用例生成。我们还没有将它添加到 Java 中。以下是 Swagger-Codegen 为 C# 生成的一些示例测试用例:

https://github.com/swagger-api/swagger-codegen/tree/master/samples/client/petstore/csharp/SwaggerClient/src/IO.Swagger.Test

这仍然是非常初步的,我们希望听到您的反馈,看看这是否是您正在寻找的。


Ben*_*n M -1

如果您使用 Spring 框架,我强烈建议您查看Spring RestDocs,它允许您生成

  • 我不想生成 api 文档。相反,我希望采用合同优先类型的想法,其中 swagger 是事实来源,然后根据 swagger 验证请求、响应、有效负载,以确保开发人员没有违反合同。 (4认同)