Php 测试RESTAPI的最佳方法?

Php 测试RESTAPI的最佳方法?,php,json,api,rest,Php,Json,Api,Rest,我刚刚使用PHP Slim框架创建了一个RESTAPI。然而,我想知道测试这个API的最佳方法是什么。最好使用PHP或objective-c(将使用它的地方)或通过允许您测试RESTAPI的在线服务来测试它吗?所有输出都是JSON格式的 一个好的RESTAPI应该独立于终端客户端。因此,在一个场景中测试它时,应该假设它在所有场景中都可以使用相同的端点、HTTP谓词和参数。正如@Martin所说,正确实现的REST独立于客户端(假设它支持您的表示类型)。例如,您可以使用Firefox的附加组件,或

我刚刚使用PHP Slim框架创建了一个RESTAPI。然而,我想知道测试这个API的最佳方法是什么。最好使用PHP或objective-c(将使用它的地方)或通过允许您测试RESTAPI的在线服务来测试它吗?所有输出都是JSON格式的

一个好的RESTAPI应该独立于终端客户端。因此,在一个场景中测试它时,应该假设它在所有场景中都可以使用相同的端点、HTTP谓词和参数。

正如@Martin所说,正确实现的REST独立于客户端(假设它支持您的表示类型)。例如,您可以使用Firefox的附加组件,或者。

  • 您应该已经对此服务进行了单元测试(例如)。这确保了一切按预期进行
  • 您可以创建验收测试(例如,使用)
  • 您可以使用测试服务是否可访问
,Chrome网站上的一款应用程序也相当不错

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


查找

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


所以我通常使用一些不同的工具来测试我自己的/外部API

是一个运行在Google Chrome中的HTTP和REST客户端

是Node.js和JavaScript项目的测试框架。(链接似乎已断开)

是一个HTTP模拟库,可以记录HTTP调用并回放它们,这样您可以手动模拟API,或者只记录实际的HTTP调用并在将来的测试运行中使用它们的响应


Mocha和Nock更具体地针对JavaScript,但是没有理由不能将它们用于基于PHP的API,因为RESTful API非常流行,有很多工具可以测试它们。因此,最好选择其中一个(或多个)工具,而不要浪费时间和精力创建大量自己的测试脚本/过程。
您可以查看以下资源,以帮助您选择最合适的工具:


您可以使用“高级REST客户端”chorem应用程序


我测试过的最好的工具。

你可以在haha找到海报的chrome端口,谢谢,不过我使用的是Safari:)总是有很好的ol'curl,它包含在Mac OSX和Linux中,并且有到Windows的端口()。如果您想编写具有可重复测试的代码,那么可以用任何方式编写(只要您可以发出HTTP请求)。关键是,RESTAPI应该独立于客户端。如果它不是独立于客户端的,请使用Objective-C测试它,并有选择地与某人争论它是否真的是RESTful。@吉姆·费兰斯:我看过Poster&RestClient,他们似乎缺乏创建测试用例的能力?例如,每次运行测试用例时,我都希望将相同的信息发布到服务器上。你知道有什么工具已经在这么做了吗?wcfstorm.rest怎么样?如果希望每次都发送相同的信息,可以保存请求并根据需要随时重新加载。你在寻找什么样的测试?这里有一些你可能想尝试的免费测试>没有理由不能使用它们基于PHP的API。我正在考虑使用Mocha和Chai来测试使用PhalconPhp构建的RESTAPI。可能有任何潜在的不利因素吗?