用于测试目的的动态控制的Swagger / OpenAPI模拟服务器

6uxekuva  于 2022-12-23  发布在  其他
关注(0)|答案(2)|浏览(143)

我正在寻找一个项目/工具,能够获得swagger/openapi规范文件作为参数,并生成一个模拟服务器,可以通过REST API接口编程控制。
例如,如果我的API包含以下端点:"POST/v1/create",并且我有一个描述该API的规范,我希望我的模拟服务器以类似于以下的方式执行:

mock-server -f swagger.yaml -p 8080

当服务器运行时,可以与它自己的REST API交互(通过不同的端口在一些控制接口上),并更改运行的swagger模拟服务器的行为-即:更改响应代码、设置响应内容等
我希望使用这样的模拟服务器作为我的系统测试套件的一部分,以便在与其他服务交互时更好地验证我的服务行为-而不需要运行那些"真正的"服务。
我正在寻找类似于Shopyify的ToxiProxy(https://github.com/Shopify/toxiproxy)的精神,但与上述能力。
谢谢!
埃尔达德

oymdgrw7

oymdgrw71#

我知道我在这方面有点晚了,但是对于未来的搜索者来说,MockLab现在支持从导入的Swagger定义和Swaggerhub webhook自动生成mock API。
更多详情请点击此处:https://www.mocklab.io/blog/mocklab-now-supports-swagger-and-swaggerhub/

ego6inou

ego6inou2#

我相信Specmatic应该可以帮助您解决这个问题。
模拟服务器-f swagger. yaml-p 8080
Specmatic就是这样工作的。要用OpenAPI规范文件启动一个模拟服务器,我们可以运行下面的命令。

specmatic stub service.yaml --port 8080

这是文档。
当服务器运行时,可以与它自己的REST API交互(通过不同的端口在一些控制接口上),并更改运行的swagger模拟服务器的行为-即:更改响应代码、设置响应内容等
这也是受支持的。Specmatic有一个http接口,你可以向它发布请求和响应Map/期望。我们称之为动态模拟。这里是文档。
这里有一个video
披露:我是Specmatic的首席开发人员和CTO

相关问题