云服务器价格_云数据库_云主机【优惠】最新活动-搜集站云资讯

企业邮箱_mysql数据库客户端_优惠

小七 141 0

使用Guzzle和PHPUnit进行restapi测试

API正日益成为现代互联网的支柱——无论你是从手机上的应用程序订购食物,还是使用现代JavaScript框架浏览博客,这些请求都有可能通过API传递。考虑到API需要通过重构和扩展来发展,拥有优秀的自动化测试可以让您快速开发,而无需放慢运行手动测试的速度来找出问题所在。此外,通过适当的测试,您能够确定您的API应该满足的需求,您的API测试有效地形成了一个有形和可执行的规范。API测试提供了一种测试API行为的端到端机制,它在可靠性和开发效率方面都有优势。在这篇文章中,我将演示如何通过创造性地使用Guzzle和PHPUnit两个包来构建一个测试框架,从而使用PHP自动测试restfulapi。作为部署或CI(持续集成)过程的一部分,您可以在API之外运行结果测试。Guzzle充当了一个强大的HTTP客户端,我们可以使用它来模拟针对API的HTTP请求。尽管PHPUnit充当一个单元测试框架(基于XUnit),但在本例中,我们将使用这个强大的测试框架来测试我们使用Guzzle从api返回的HTTP响应。准备我们的环境为了获得所需的包,我们将使用Composer—一个PHP的依赖关系管理器。在Composer项目中,我们可以简单地要求我们所追求的依赖关系:$composer需要phpunit/phpunit$composer需要guzzle http/guzzle$composer更新当我们为两个包中的每一个运行composerrequire时,composer继续并实际下载了我们想要的包,这些包存储在供应商目录中。另外,当我们运行composer update时,composer更新了它的PSR-4 autoload脚本,它允许我们通过一个文件include获得所需的所有依赖项,您可以在vendor中找到它/自动加载.php.有了依赖项之后,我们现在可以配置PHPUnit来使用Guzzle。为了做到这一点,我们需要告诉PHPUnit我们的Composer autoload文件在哪里,还有我们的测试在哪里。我们可以通过写一个phpunit.xml文件在我们项目的根目录中:./tests/