phpt文件说明
来源:互联网 发布:depthmap软件计算 编辑:程序博客网 时间:2024/06/09 22:35
转自:https://github.com/reeze/tipi/blob/248c0ab7f966f10db5bc300c2ae82214cb2010b3/book/E-phpt-file.markdown
phpt文件用于PHP的自动化测试,这是PHP用自己来测试自己的测试数据用例文件。测试脚本通过执行PHP源码根目录下的run-tests.php,读取phpt文件执行测试。
phpt文件包含 TEST,FILE,EXPECT 等多个段落的文件。在各个段落中,TEST、FILE、EXPECT是基本的段落,每个测试脚本都必须至少包括这三个段落。其中:
- TEST段可以用来填写测试用例的名字。
- FILE段是一个 PHP 脚本实现的测试用例。
- EXPECT段则是测试用例的期待值。
在这三个基本段落之外,还有多个段落,如作为用例输入的GET、POST、COOKIE等,此类字段最终会赋值给$env变量。比如,cookie存放在$env['HTTP_COOKIE'],$env变量将作为用例中脚本的执行环境。一些主要段落说明如下表所示:
PHP测试脚本中的段落说明
phpt文件只是用例文件,它还需要一个控制器来调用这些文件,以实现整个测试过程。PHP的测试控制器文件是源码根目录下的run-tests.php文件。此文件的作用是根据传入的参数,分析用例相关数据,执行测试过程。其大概过程如下:
- 分析输入的命令行,根据参数配置相关参数,初始化各种信息。
- 分析用例输入参数,获取需要执行的用例文件列表。PHP支持指定单文件用例执行,支持多文件用例执行,支持* .phpt多用例执行,支持* .phpt简化版本多用例执行(相当于.phpt)。
- 遍历用例文件列表,执行每一个用例。对于每个用例,PHP会具体解析测试脚本中各个段落的含义,清除所有上次测试的记录与设置将准备此次的测试环境,并把各种中间文件和日志文件准备好,然后用环境变量 TEST_PHP_EXECUTABLE 指定的 PHP 可执行对象运行实际的测试语句。最后将运行后的结果和测试脚本中的预期结果(EXPECT*段)进行比较,如果比较结果一致,则测试通过;如果不一致,则测试失败,最后将结果信息一一记录到用户设置的日志文件中。
- 生成测试结果。
这仅仅是执行的过程,除此之外,还有若干准备和清理工作,如,对上次测试遗留下的环境的清理,本次测试所必须的环境变量的读取与设置,对测试参数的解析,测试脚本名的解析,各种输出文件的准备等等
以测试脚本/tests/basic/001.phpt为例:
[php]--TEST--Trivial "Hello World" test--FILE--<?php echo "Hello World"?>--EXPECT--Hello World
这个用例脚本只包含必填的三项。测试控制器会执行--FILE--下面的PHP文件,如果最终的输出是--EXPECT--所期望的结果则表示这个测试通过,如果不一致,则测试不通过,最终这个用例的测试结果会汇总会所有的测试结果集中。
0 0
- phpt文件说明
- phpt文件说明
- phpt文件说明,php官方自动测试方法,run-test.php命令用法
- 文件说明
- GPUImage说明 各文件说明
- PHP自动化测试(一)make test 和 phpt
- php使用PHP-QA的.phpt测试系统做单元测试
- VC项目文件说明
- xml文件改动说明
- smartdrv.exe 文件说明
- javascript操作文件说明
- vc 工程文件说明
- srv_linkage.h文件说明
- INF文件说明
- Weblogic说明文件
- VC文件扩展名说明
- Snort.conf 文件说明
- 关于DLL文件说明
- 前端js 将13位时间戳转为xxxx/xx/xx格式
- Java使用DOM读写 XML
- 洛谷 并查集 食物链
- for循环里面的++i和i++的区别
- Neither spark.yarn.jars nor spark.yarn.archive is set
- phpt文件说明
- Java基础-JDBC连接测试
- 拿到url中包含的参数 - iOS
- MySQL的主从复制延迟问题
- 1252: 时钟
- 用户所属表空间
- spring+mybatis通用dao层、service层的一些个人理解与实现
- adb操作命令详解及大全
- Android系统:Google Search的问题点