快速业务通道

浅析PHP官方自动化测试方法(一)

作者 佚名技术 来源 NET编程 浏览 发布时间 2012-05-22
t;; ?>
--FILE--
<?php
$php = getenv(''TEST_PHP_EXECUTABLE'');
var_dump(`$php -n -v`);
echo "Done\n";
?>
--EXPECTF--
string(%d) "PHP %s (cli) (built: %s)%s
Copyright (c) 1997-20%d The PHP Group
Zend Engine v%s, Copyright (c) 1998-20%d Zend Technologies
"
Done

如何运行 PHP 自动化测试脚本

在运行测试脚步前,首先要将被测试的 PHP 源码编译为可执行对象。

然后要导入若干环境变量。表 2 中介绍了主要的几个环境变量如何设置。

表 2. PHP 自动化测试中的环境变量设置

环境变量名 环境变量值 例子
TEST_PHP_EXECUTABLE 设定被测试对象 PHP,或者 “ auto ” 。当设置 “ auto ” 时,如果是 CGI 模式,即为 “ ./sapi/cgi/php-cgi ” ;如果是 CLI 模式,即为 “ ./sapi/cli/php ” 。 TEST_PHP_EXECUTABLE=
$HOME/php-5.2.8/sapi/cli/php
TEST_PHP_DETAILED 设定是否需要详细的日志输出。设置值为 1 或者 0 。 TEST_PHP_DETAILED=1
TEST_PHP_USER 设定是否需要特制的用户目录。 TEST_PHP_DETAILED= “ /usr/test1 ”
TEST_PHP_LOG_FORMAT 设定日志的格式。设置值为 “ LEOD ” 子串的子集。其中 L 代表测试后需要生成 “ .log ” 文件,E 代表 “ .exp ” ,O 代表 “ .out ” ,D 代表 “ .diff ” 。 TEST_PHP_LOG_FORMAT="LD"

在本例中,在 Bash 环境中设置环境变量如下:

清单 2. 设置环境变量示例

export HOME=/home/user_dir/
export TEST_PHP_EXECUTABLE=$HOME/php-5.2.8/sapi/cli/php
export TEST_PHP_DETAILED=1
export TEST_PHP_LOG_FORMAT="LEOD"

经过这样设置后,被测试的 PHP 可执行对象就是放在目录 “ $HOME/php-5.2.8/sapi/cli/ ” 下编 译好的那个 “ php ” 可执行文件。

执行测试前,还需将测试脚本 PHPT 编辑好,存为 “ .phpt ” 文件。这里以官方包里自带的测试脚 本 “ 001.phpt ” 为例,运行如下:

清单 3. PHPT 测试总结报告实例

bash-2.03$ cd $HOME/php-5.2.8/
bash-2.03$ $HOME/php-5.2.8/sapi/cli/php run-tests.php \
$HOME/php-5.2.8/sapi/cli/tests/001.phpt

如果该测试用例的实际输出与期待值一致,则在屏幕上输出测试结果如下:

清单 4. PHPT 测试总结报告实例

=====================================================================
CWD : /home/user_dir/php-5.2.8/sapi/cli/php
PHP : /home/user_dir/php- 5.2.8/sapi/cli/php
PHP_SAPI : cli
PHP_VERSION : 5.2.8
ZEND_VERSION: 2.1.0
PHP_OS : Linux rhas05 2.6.9-55.ELhugemem #1
SMP Fri Apr 20 17:20:11 EDT 2007 i686 i686 i386 GNU/Linux
INI actual :
More .INIs :
Extra dirs :
=====================================================================
Running selected tests.
PASS Test version string [001.phpt]
=====================================================================
Number of tests : 1 1
Tests skipped : 0 ( 0.0%) --------
Tests warned

凌众科技专业提供服务器租用、服务器托管、企业邮局、虚拟主机等服务,公司网站:http://www.lingzhong.cn 为了给广大客户了解更多的技术信息,本技术文章收集来源于网络,凌众科技尊重文章作者的版权,如果有涉及你的版权有必要删除你的文章,请和我们联系。以上信息与文章正文是不可分割的一部分,如果您要转载本文章,请保留以上信息,谢谢!

分享到: 更多

Copyright ©1999-2011 厦门凌众科技有限公司 厦门优通互联科技开发有限公司 All rights reserved

地址(ADD):厦门软件园二期望海路63号701E(东南融通旁) 邮编(ZIP):361008

电话:0592-5908028 传真:0592-5908039 咨询信箱:web@lingzhong.cn 咨询OICQ:173723134

《中华人民共和国增值电信业务经营许可证》闽B2-20100024  ICP备案:闽ICP备05037997号