在本例中,在 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 : 0 ( 0.0%) ( 0.0%)
Tests failed : 0 ( 0.0%) ( 0.0%)
Tests passed : 1 (100.0%) (100.0%)
---------------------------------------------------------------------
Time taken : 0 seconds
=====================================================================
如果该测试失败了,则除了屏幕输出失败结果外,当前运行目录下还会生成若干文件,以供用户分析测试失败的原因。生成的日志文件的种类是由环境变量 TEST_PHP_LOG_FORMAT 设定的,详见表 2 。如果设定的是 “ LEOD ” 则生成日志文件包括表 3 中列出的五种文件。
表 3. PHP 自动化测试的输出脚本文件
日志文件名
日志文件内容
对应的TEST_PHP_LOG_FORMAT里的设置
001.out
运行测试语句后得到的实际输出结果。
O
001.exp
脚本中的期待结果,即测试脚本中 EXPECT* 段的内容。
E
001.log
实际运行的输出结果和脚本中的期待结果,即 “ .exp ” 和 “ .out ” 的合集。
L
001.diff
实际运行的输出结果和脚本中的期待结果通过 diff 命令得到比对后的结果。
D
001.php
实际执行的 PHP 测试语句,在测试中解析测试脚本的 FILE 段得到。
总会生成
上面的例子是一次只运行一个脚本。 PHP 也支持多测试脚本一起运行。表 4 列出了三种 PHP 支持的测试方式。
表 4. PHP 自动化测试方式
测试方式
参数
举例
只执行单个测试用例
测试脚本名
001.phpt 002.phpt
执行某个目录下的测试用例
测试用例的目录名
test_dir/
执行某个文件中列出的测试用例
-r 加列举测试用例的文件名
-r record_file
相关阅读:
33/3<123