2016-02-26 82 views
2

我正在为php应用程序构建api测试套件。现在应用程序正在使用swagger批注,我可以轻松创建swagger.json。但从看the swagger test template,它看起来像我必须先用swagger节点创建一个nodejs应用程序?有没有办法我可以跳过这一步,而不是使用我的PHP应用程序?我可以在非nodejs应用程序中使用swagger测试模板吗?

编辑:我已经有了使用swagger-php的swagger docs和运行。只是想知道是否可以使用swagger-test-template而不使用swagger-node。

回答

0

您可以使用他们的工具'swagger-codegen'或者在online editor中为不同平台生成服务器应用程序:粘贴你的swagger配置并选择生成服务器 - > Silex PHP。

+0

我已经有php代码启动并运行,使用swagger-php。是否可以在swagger-node中设置swagger-test-tempate或类似的东西而不用这么做? – JLau

+1

@JLau'swagger-test-template'只是nodejs,下面是可用于通过语言swagger的非商业工具列表http://swagger.io/open-source-integrations/我所看到的测试与https:/ /github.com/Maks3w/SwaggerAssertions –

+0

啊谢谢。我希望能够使用js,因为我已经使用[chakram](http://dareid.github.io/chakram/)来运行我的api测试。 – JLau

-1

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

+1

我已经有swagger文档了,并使用swagger-php运行。我试图找到一种方法来使用当前的PHP应用程序中的swagger-test-template。 – JLau

0

Swagger Codegen生成的PHP API客户端带有需要用测试数据更新的测试用例(模板)。你可以找到在这个folder

一些例子来运行测试的情况下,只需按照README.md

4

指令我在招摇测试模板的贡献者之一。 (我之前没有回复过任何关于SO的东西)

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

简单的回答:不,它并不是专门用于Node.js APIs或者Swagger-node。

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

1

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

所以我asked the project developers他们说,它可以做你想做的。

简单的回答:不,它并非专门用于Node.js API。

较长的回答:API不必在Node.js中执行,即 STT生成的测试将其作为HTTP请求的目标。您必须使用 节点。js利用这个模块(很明显),但只要你指向 在运行服务器(localhost:1337,my.api.test.net)上的测试, 的实现并不重要。这里需要注意的是,这个模块是 ,设计用于运行一个Node.js测试运行器/框架的mocha。 所以测试必须在Node.js项目中,但服务器 实施不。

相关问题