我可以在非 nodejs 应用程序中使用大摇大摆的测试模板吗?


Can I use swagger test template with non nodejs app?

我正在努力为php应用程序构建一个api测试套件。现在该应用程序正在使用招摇注释,我可以轻松创建一个 swagger.json。但是从查看招摇测试模板来看,看起来我必须先使用 swagger 节点创建一个 nodejs 应用程序?有没有办法我可以跳过该步骤并使用我的 php 应用程序?

编辑:我已经使用swagger-php启动并运行了招摇的文档。只是想知道是否可以在不使用招摇节点的情况下使用招摇测试模板。

我是 swagger-test-template 的贡献者之一。(我之前没有回答过SO上的任何问题,所以请耐心等待)

我是通过最近有人打开的 Github 问题来解决这个问题的 Github 问题提出的!我在那里回答了它,但我会在这里复制它并进一步扩展它。我希望它有所帮助。如果我没有完全回答您的问题,请跟进。

简单的答案:不,它不是专门针对 Node.js API 或 swagger-node。

更长的答案:您可以像在 Node.js 项目中的任何其他 Node.js 模块一样完全独立使用 STT。有关如何独立运行它的示例,请参阅自述文件或测试文件。此外,API 不必在 Node 中实现.js STT 生成的测试就可以使用 HTTP 请求来定位它。您必须使用 Node.js 来利用此模块的功能,但只要您将测试指向正在运行的服务器(localhost:1337,my.api.test.net),后端实现就无关紧要。这里需要注意的是,这个模块被设计为与 mocha 一起运行,摩卡是一个 Node.js 测试运行器/框架。因此,测试必须在 Node.js 项目中,但服务器实现不需要。

Swagger Codegen 生成的 PHP API 客户端附带了需要使用测试数据更新的测试用例(模板)。您可以在此文件夹中找到一些示例

要运行测试用例,只需按照 README.md 中的说明进行操作

我今天有同样的问题,发现这个线程没有解决方案。

所以我问了项目开发人员,他们说它可以做你想做的事。

简单的答案:不,它不是专门针对 Node.js API。

更长的答案:API 不必在 Node 中实现.js因为 STT 生成的测试以使用 HTTP 请求将其作为目标。你必须使用 Node.js利用这个模块(显然),但只要你点 在正在运行的服务器上进行测试(本地主机:1337,my.api.test.net) 实施无关紧要。这里需要注意的是,这个模块是 设计为与 mocha 一起运行,摩卡是一个 Node.js 测试运行器/框架。 所以测试必须在 Node.js 项目中,但服务器 实现没有。

您可以使用他们的工具"swagger-codegen"或在在线编辑器中为不同的平台生成服务器应用程序,而不仅仅是nodejs:粘贴您大摇大摆的配置并选择生成服务器 -> Silex PHP。

当然你可以这样做。转到 https://github.com/swagger-api/swagger-ui ,下载 zip。Zip 文件有一个dist文件夹。这就是您在 API 服务器中开发 swagger 文档所需的全部内容。将此文件夹与 Php 代码一起包含在服务器目录中。在dist里面有index.html和swagger.json。您可以修改这两个文件以创建自己的文档并测试 API。