测试REST API的最佳方法是什么?

17

我刚刚使用PHP Slim框架创建了一个REST API。然而,我想知道测试这个API的最佳方法是什么。是最好使用PHP还是Objective-C(它将在那里被使用),还是通过一些在线服务来测试REST API?所有输出都是JSON格式。


你在寻找什么类型的测试? - hakre
以下是一些免费的API测试工具,您可能想要尝试。 - Joey Rock
8个回答

11
  • 您应该已经为此服务编写了单元测试(例如PHPUnit)。这可以确保一切按预期工作。
  • 您可以创建验收测试(例如使用Selenium
  • 您可以使用CURL测试服务是否可访问

10

Postman是Chrome Webstore上的一款很好的应用。

它拥有一个非常漂亮的用户界面,支持所有的HTTP方法。它甚至允许基本和OAuth身份验证,并存储您以前的请求。

GitHub上找到源代码。


8

正如@Martin所说,REST的正确实现与客户端无关(假设它支持您的表示类型)。例如,您可以使用Firefox浏览器的Poster插件,或RestClient 2.3


你可以在 https://chrome.google.com/webstore/detail/cdjfedloinmbppobahmonnjigpmlajcd# 找到Poster的Chrome端口。 - corretge
哈哈,谢谢,不过我正在使用Safari :) - max_
wcfstorm.rest怎么样?如果您想每次发送相同的信息,可以保存请求并随时重新加载。http://www.wcfstorm.com/wcf/wcfstormrest-lite.aspx - user20155
你可以使用behat来执行此操作。 - andho
过时的答案 - Talk Nerdy To Me
显示剩余2条评论

1
一个良好的 REST API 应该独立于最终客户端。因此,在一个场景中测试它时,应该假定它在使用相同的端点、HTTP 动词和参数的所有场景中均可工作。

1
我通常使用几个不同的工具来测试自己的/外部API。 Postman是一个在Google Chrome内部运行的HTTP和REST客户端。 Mocha是一个用于Node.js和JavaScript项目的测试框架。(链接目前似乎无法访问) Nock是一个HTTP模拟库,可以记录HTTP调用并播放它们,以便您可以手动模拟API,或者仅记录实际的HTTP调用并在将来的测试运行中使用它们的响应。
Mocha和Nock更专门用于JavaScript,但没有理由不能将它们用于基于PHP的API。

你完全可以使用基于PHP的API。我正在考虑使用Mocha和Chai来测试使用PhalconPhp构建的REST API。这样做是否存在潜在的缺陷? - Raunaqss

1

由于RESTful API非常流行,有很多工具可以进行测试。因此,最好选择其中一个(或多个)工具,而不是浪费时间和精力创建大量自己的测试脚本/过程。
您可以查看以下资源,这些资源可以帮助您选择最合适的工具:

前六个API测试工具
12个优秀的Web服务测试工具


0
theRightAPI提供了一个免费的工具,可以测试任何基于HTTP的API调用。您可以保存这些测试以与他人共享,或者如果您需要返回以重新测试并确保API继续按预期响应。它还有一个令牌存储库,允许您在多个测试中使用单个凭据或身份验证密钥的副本。

http://www.theRightAPI.com/test


0
你可以使用“高级 REST 客户端”谷歌浏览器应用程序。
这是我测试过的最好的工具。

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接