我正在为php应用程序构建一个api测试套件。现在该应用程序正在使用swagger注释,我可以轻松创建一个swagger.json。但是从查看the swagger test template,看起来我必须首先使用swagger节点创建一个nodejs应用程序?有没有办法可以跳过这一步并使用我的php应用程序?
编辑:我已经使用swagger-php启动并运行了swagger文档。只是想知道是否可以在不使用swagger-node的情况下使用swagger-test-template。
答案 0 :(得分:4)
我是swagger-test-templates的贡献者之一。 (我之前没有回答任何问题,所以请耐心等待)
我通过Github问题提出了您的问题,最近有人打开这个问题来解决这个问题!我在那里回答了,但我会在这里复制它并再扩展一下。我希望它有所帮助。如果我没有完全回答你的问题,请跟进。
简单回答:不,它不仅仅适用于Node.js API或swagger-node。
更长的答案:您可以像Node.js项目中的任何其他Node.js模块一样使用STT,完全靠它自己。有关如何独立运行它的示例,请参阅Readme或测试文件。此外,不必在Node.js中实现API,以便STT生成的测试使用HTTP请求来定位它。您必须使用Node.js来利用此模块的功能,但只要您将测试指向正在运行的服务器(localhost:1337,my.api.test.net),后端实现就无关紧要了。需要注意的是,此模块设计为使用mocha运行,这是一个Node.js测试运行器/框架。所以测试必须在Node.js项目中,但服务器实现不是。
答案 1 :(得分:1)
今天我有同样的问题,发现这个帖子没有解决方案。
所以我asked the project developers他们说它可以做你想做的事。
简单回答:不,它不仅仅适用于Node.js API。
更长的答案:API不必在Node.js中实现 STT生成测试以使用HTTP请求来定位它。你必须使用 Node.js利用这个模块(显然),但只要你指出 运行服务器上的测试(localhost:1337,my.api.test.net) 实施并不重要。这里需要注意的是,这个模块是 旨在与mocha一起运行,mocha是一个Node.js测试运行器/框架。 所以测试必须在Node.js项目中,但服务器 实施没有。
答案 2 :(得分:0)
您可以使用他们的工具'swagger-codegen'或online editor为不同平台生成服务器应用程序,不仅仅是nodejs:粘贴您的swagger配置并选择生成服务器 - > Silex PHP。
答案 3 :(得分:0)
Swagger Codegen生成的PHP API客户端带有需要使用测试数据更新的测试用例(模板)。您可以在此folder
中找到一些示例要运行测试用例,只需按照README.md
中的说明操作即可答案 4 :(得分:-1)
绝对可以这样做。转到https://github.com/swagger-api/swagger-ui
,下载zip。 Zip文件有一个dist
文件夹。这就是在API服务器中开发swagger文档所需的全部内容。将此文件夹与Php代码一起包含在服务器目录中。在dist
里面有index.html和swagger.json。您可以修改这两个文件以创建自己的文档并测试您的API。