2

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

编辑:我已经使用 swagger-php 启动并运行了 swagger 文档。只是想知道是否可以在不使用 swagger-node 的情况下使用 swagger-test-template。

4

5 回答 5

4

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

我是通过最近打开的一个 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 一起运行,mocha是一个 Node.js 测试运行器/框架。所以测试必须在 Node.js 项目中,但服务器实现不需要。

于 2017-04-20T16:01:11.953 回答
1

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

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

简单的回答:不,它不仅适用于 Node.js API。

更长的答案:API 不必在 Node.js 中实现,以便 STT 生成的测试以 HTTP 请求为目标。您必须使用 Node.js 来利用这个模块(显然),但只要您将测试指向正在运行的服务器(localhost:1337,my.api.test.net),实现并不重要。这里需要注意的是,这个模块被设计为与 mocha 一起运行,mocha 是一个 Node.js 测试运行器/框架。所以测试必须在 Node.js 项目中,但服务器实现不需要。

于 2017-04-20T16:04:15.410 回答
1

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

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

于 2016-02-27T04:13:11.523 回答
0

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

于 2016-02-26T17:36:25.813 回答
-1

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

于 2016-02-26T17:52:39.107 回答