风之力科技
股票代码:781340
400-718-5885或13605745691
service@nwpit.com

技术资讯

29Oct2015
点击

如何进行PHP脚本测试

  在PHP程序中,通常有一部分代码是写在几个index.php和script.php文件中的,这些.php文件存放在几个不同的文件夹里。如果不找到它们的入口点,是无法直接由Web服务器访问的。下面来分析下如何进行脚本测试:


  一、测试副本

  要测试一个PHP脚本,我们需要模拟一个HTTP请求,并检查返回的响应(response)是否等于预期值。这里需要注意的是模拟一个请求, 要定义response和request,这不仅仅是内容(content)的不同,而且他们的头信息(header)也是不同的。

  此外,如果我们想要测试一个操作数据的事务脚本,我们要确保不让它去连接真正的数据库或应用程序的其余部分。

  在现实中,通常没有人会直接拿原有的PHP脚本进行重写测试。因为怕把代码弄得不可恢复。我建议使用PHP脚本的副本,这样我们就可以将PHP代码进行一些小手术了。

  如何将代码进行最小修改:删除include和require语句(如果它们没有被用到),并且修改内部函数的调用方式,例如:将header()写成$object->header()。

  最后,我们来测试这个事务脚本。测试完后,我们可以从副本脚本中提取出它们,并把它们放入新脚本文件中。


   二、具体步骤

  1、模拟一个HTTP请求并重新定义变量$_GET和$_POST,还要修改$_SERVER的header。

  2、获取请求响应,response的body可以通过ob_start()和ob_get_clean()捕获,它可以收集每一个用echo()或以

  注意:输出缓冲支持在PHP多个级别的嵌套,所以在大多数情况下,都可以捕获到,即使脚本在使用ob_*调用本身。

    3、测试脚本应包含事务脚本的内部方法,因此在这个脚本范围内的方法都可以被调用。例如:

   (1)脚本所需的变量可以被定义为局部变量封装起来,如$connection作为一个数据库连接。

   (2)不是原本PHP的内置函数,应该加上对象来调用,如:header()写成$this->header()。