技术开发 频道

浅析 PHP 官方自动化测试方法

  【IT168技术文档

  PHP 官方自动化测试方法简述

  以下介绍以 PHP 最新官方版本 5.2.8 的源码在 LINUX 系统平台上的分析为例展开。首先来看一下 PHP 的自动化测试脚本 PHPT 脚本。

  自动化测试脚本 PHPT 示例

  PHP 的测试脚本是以“ .phpt ”为后缀,包含 TEST,FILE,EXPECT 等多个段落的文件,简称 PHPT 。在各个段落中,TEST,FILE,EXPECT 是基本的段落,每个测试脚本都必须至少包括这三个段落。其中,TEST 段可以用来填写测试用例的名字; FILE 段是一个 PHP 脚本实现的测试用例; EXPECT 段则是测试用例的期待值。测试用例的运行中,PHP 将用被测试的 PHP 可执行对象去运行 FILE 段中的测试用例,用实际的结果去比对测试用例中 EXPECT 段所列的期待值;如果实际结果和期待值一致,则测试通过;如果不一致,则测试失败。

  表 1 列出的是常用的段落名和其相应的填充内容说明。

  表 1. PHP 测试脚本中的段落说明

  以官方包里自带的测试脚本 “ 001.phpt ” 为例(见清单 1),从 TEST 段的内容看来这是一个对 PHP 版本进行验证的测试用例。 SKIPIF 段的内容写在了 “ skipip.inc ” 文件里。在 FILE 段里,测试用例将环境变量 TEST_PHP_EXECUTABLE 里设置的那个 PHP 的版本打印出来,这个结果将和 EXPECTF 中的字串进行格式匹对。

  清单 1. PHPT 测试脚本 “ 001.phpt ” 示例

--TEST--
version
string
--SKIPIF--
<?php include "skipif.inc"; ?>
--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
0
相关文章