位置: IT常识 - 正文

phpt文件内容解析(php 文件处理)

编辑:rootadmin
phpt测试文件说明 phpt文件用于PHP的自动化测试,这是PHP用自己来测试自己的测试数据用例文件。 测试脚本通过执行PHP源码根目录下的run-tests.php,读取phpt文件执行测试。 phpt文件包含 TEST,FILE,EXPECT 等多个段落的文件。在各个段落中,TEST、FILE ... phpt测试文件说明

推荐整理分享phpt文件内容解析(php 文件处理),希望有所帮助,仅作参考,欢迎阅读内容。

文章相关热门搜索词:php 文件,php文件解密工具,php tpl文件,php 文件,php tpl文件,php tpl文件,php文件解密工具,php文件的content-type,内容如对您有帮助,希望把文章链接给更多的朋友!

phpt文件用于PHP的自动化测试,这是PHP用自己来测试自己的测试数据用例文件。 测试脚本通过执行PHP源码根目录下的run-tests.php,读取phpt文件执行测试。

phpt文件包含 TEST,FILE,EXPECT 等多个段落的文件。在各个段落中,TEST、FILE、EXPECT是基本的段落, 每个测试脚本都必须至少包括这三个段落。其中:

TEST段可以用来填写测试用例的名字。FILE段是一个 PHP 脚本实现的测试用例。EXPECT段则是测试用例的期待值。phpt文件内容解析(php 文件处理)

在这三个基本段落之外,还有多个段落,如作为用例输入的GET、POST、COOKIE等,此类字段最终会赋值给\(env变量。 比如,cookie存放在\)env['HTTP_COOKIE'],$env变量将作为用例中脚本的执行环境。一些主要段落说明如下表所示:

PHP测试脚本中的段落说明

:段落名填充内容备注TEST测试脚本语句必填段落FILE测试脚本语句必填段落。用PHP语言书写的脚本语句。其执行的结果将与 EXPECT* 段的期待结果做对比。ARGSFILE 段的输入参数选填段落SKIPIF跳过这个测试的条件选填段落POST传入测试脚本的 POST 变量选填段落。如果使用POST段,建议配合使用SKIPIF段GET传入测试脚本的 GET 变量选填段落。如果使用GET段,建议配合使用SKIPIF段。POST_RAW传入测试脚本的POST内容的原生值选填段落。比如在做文件上传测试时就需要使用此字段来模拟HTTP的POST请求。COOKIE传入测试脚本的COOKIE的值选填段落。最常见的是将PHPSESSID的值传入。INI应用于测试脚本的 ini 设置选填段落。例如 foo=bar 。其值可通过函数 ini_get(string name_entry) 获得。ENV应用于测试脚本的环境设置选填段落。例如做gzip测试,则需要设置环境HTTP_ACCEPT_ENCODING=gzip。EXPECT测试脚本的预期结果 相当于测试文件的结果必填段落EXPECTF测试脚本的预期结果选填段落。可用函数 sscanf() 中的格式表达预期结果 EXPECT 段的变体EXPECTREGEX测试脚本的正则预期结果选填段落。以正则的方式包含多个预期结果,是预期结果EXPECT段的一种变体。EXPECTHEADERS测试脚本的预期头部内容选填段落.测试脚本期待HTTP头部返回,是预期结果EXPECT段的另一种格式。验证过程中会按头部的字段一一比对测试,比如zlib扩展中,如果开启zlib.output_compression, 则在EXPECTHEADERS中包含Content-Encoding: gzip作为预期结果。

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--所期望的结果则表示这个测试通过,如果不一致,则测试不通过, 最终这个用例的测试结果会汇总会所有的测试结果集中。

本文链接地址:https://www.jiuchutong.com/zhishi/313332.html 转载请保留说明!

上一篇:中国互联网创业工具库Startup Tools | 17Startup Blog(中国互联网创业成功的年轻人)

下一篇:dedecms织梦自带采集插件详细图文教程(织梦使用手册)

  • 淘宝联盟搜索推广是什么(淘宝联盟推荐给别人怎么赚钱)

    淘宝联盟搜索推广是什么(淘宝联盟推荐给别人怎么赚钱)

  • 内容真的能够挽救广告吗?

    内容真的能够挽救广告吗?

  • 抖音福袋中奖了怎么查看物流(抖音福袋中奖了怎么领取)

    抖音福袋中奖了怎么查看物流(抖音福袋中奖了怎么领取)

  • 小米打印机能用其他相纸吗(小米打印机能用别的相片纸吗)

    小米打印机能用其他相纸吗(小米打印机能用别的相片纸吗)

  • 苹果生态是什么意思(苹果生态是啥)

    苹果生态是什么意思(苹果生态是啥)

  • 话费充错了怎么追回来(话费充错了怎么追回来中国移动)

    话费充错了怎么追回来(话费充错了怎么追回来中国移动)

  • 笔记本可以换内存条么(笔记本可以换内存条么,CPU吗)

    笔记本可以换内存条么(笔记本可以换内存条么,CPU吗)

  • 微信账号冻结是什么意思(微信账号冻结是永久的吗)

    微信账号冻结是什么意思(微信账号冻结是永久的吗)

  • 爱奇艺几个设备同时在线(爱奇艺几个设备在哪查)

    爱奇艺几个设备同时在线(爱奇艺几个设备在哪查)

  • 手机一定要充满再拔吗(手机一定要充满电再玩吗)

    手机一定要充满再拔吗(手机一定要充满电再玩吗)

  • pr播放不了视频怎么回事(pr里面播放不了视频)

    pr播放不了视频怎么回事(pr里面播放不了视频)

  • 商品链接怎么复制(商品链接怎么复制进电子表格)

    商品链接怎么复制(商品链接怎么复制进电子表格)

  • 什么叫互动播放(互动播放的电视剧有哪些)

    什么叫互动播放(互动播放的电视剧有哪些)

  • 华为ar engine是什么(华为ar engine可以卸载吗)

    华为ar engine是什么(华为ar engine可以卸载吗)

  • word高级替换查找(word替换高级用法)

    word高级替换查找(word替换高级用法)

  • 微控制器由什么组成(微控制器包括)

    微控制器由什么组成(微控制器包括)

  • 苹果手机下载慢是怎么回事(苹果手机下载慢是什么原因)

    苹果手机下载慢是怎么回事(苹果手机下载慢是什么原因)

  • 唯品会封号是怎么回事(唯品会封号是永久性的吗)

    唯品会封号是怎么回事(唯品会封号是永久性的吗)

  • 强调文字颜色怎么设置(强调文字颜色怎么设置深色)

    强调文字颜色怎么设置(强调文字颜色怎么设置深色)

  • 手机里的软件怎样移到sd卡里(手机里的软件怎么设置密码)

    手机里的软件怎样移到sd卡里(手机里的软件怎么设置密码)

  • vivoy93支持无线充电吗(vivoy9支持无线充电吗)

    vivoy93支持无线充电吗(vivoy9支持无线充电吗)

  • 店铺动态评分多久更新(店铺动态评分多少合格)

    店铺动态评分多久更新(店铺动态评分多少合格)

  • 华为nova5pro充电(华为nova5pro充电器多少w快充)

    华为nova5pro充电(华为nova5pro充电器多少w快充)

  • 移动卡激活审核要多久 (激活移动卡审核三天才通过)

    移动卡激活审核要多久 (激活移动卡审核三天才通过)

  • 手机录音怎么删除(手机录音怎么删除掉)

    手机录音怎么删除(手机录音怎么删除掉)

  • 手机能打电话不能上网(手机能打电话不能接听)

    手机能打电话不能上网(手机能打电话不能接听)

  • 怎么把桌面图标调出来(怎么把桌面图标放大)

    怎么把桌面图标调出来(怎么把桌面图标放大)

  • VMware11 安装Mac OS X10 提示不可恢复怎么办(vmware11安装win10)

    VMware11 安装Mac OS X10 提示不可恢复怎么办(vmware11安装win10)

  • win10蓝牙无法连接音箱怎么办(win10蓝牙无法连接可以尝试以下操作)

    win10蓝牙无法连接音箱怎么办(win10蓝牙无法连接可以尝试以下操作)

  • 马拉喀什的Jemaa el-Fnaa广场 (© Pavliha/Getty Images)(马拉喀什的历史背景)

    马拉喀什的Jemaa el-Fnaa广场 (© Pavliha/Getty Images)(马拉喀什的历史背景)

  • 北京市增值税发票查验平台
  • 小规模纳税人利润如何缴税
  • 科目余额表怎么导出
  • 网上申购到发行多长时间
  • 汇算清缴调表不调账调的是哪张表
  • 房地产企业汇缴清算条件
  • 交易性金融资产的入账价值
  • 查增应纳税所得额怎么算
  • 应付账款以前年度挂错
  • 工程结算怎么结转收入
  • 小型微利企业免于填报
  • 进口增值税未抵扣怎么办
  • 开票信息里面的电话号码怎么来的?
  • 醋开票属于什么类
  • 销售货物运费的增值税率
  • 以前年度已经缴纳的税
  • 外挂项目跨年结转分录怎么做?
  • 外包劳务费用如何计算
  • 所得税汇算清缴补税的会计处理
  • 工伤赔付是那个出钱呢
  • 个体户季度超30万要交多少税
  • 建帐选择什么会计制度和会计准则之后能修改吗
  • 所得税汇算清缴截止日期
  • 结算银行贷款利息用什么凭证
  • 变动成本总额怎么求单位变动成本
  • 销售回购会计分录
  • 公司控股的公司下子公司有哪些
  • win11压缩文件
  • 怎样获取
  • macos big sur将安装在macintosh hd
  • 公司必须开基本户才能开发票吗
  • PHP:oci_new_descriptor()的用法_Oracle函数
  • phpswitch语句成绩判断
  • 浏览器下载量排名第一的是
  • 国有划拨土地给集体企业怎么办
  • 私有化部署chatGPT,告别网络困扰
  • 备用金支出没有发票怎么办
  • loss for
  • repo命令详解
  • 错误日志怎么修复
  • 专利技术的增值税
  • 季度所得税申报怎么弥补以前年度亏损
  • 销售费用处理不包括哪些
  • 物业公司属于生活性服务业吗
  • 销售价格低于成本价,税务机关是否有权纳税调整?
  • 完美ui
  • ubuntu下编译安装opencv
  • react 16新特性
  • 滴滴票可以抵扣吗?
  • 个体户增值税减免申报明细表怎么填
  • 抵扣进项税是怎么算的
  • 在建工程如何转固
  • 企业计提固定资产折旧以什么假设为前提
  • 会计核算形式的设计具体内容包括
  • 收到银行开的手续费发票如何做帐
  • 固定资产盘亏是什么意思
  • 不动产出租要交什么税
  • 新建厂房费用可以直接计入管理费用么
  • 合同权利义务包含债务吗
  • 库存商品太多
  • 只有发票没有合同可以做账吗
  • 一般纳税人提供劳务税率是多少
  • 内账价税分离如何做账
  • 私营企业归谁管
  • mysql免安装版下载
  • 怎样彻底关闭win11安全中心
  • xp系统怎么设置不待机
  • win7系统的虚拟内存在哪里
  • linux unix操作系统
  • win8怎么删除输入法
  • javascriptz
  • css跑马灯效果
  • jquery选择器的使用
  • jQuery实现两个下拉列表关联
  • jQuery Ajax 实现在html页面实时显示用户登录状态
  • python验证整数
  • js做时钟让钟表转起来
  • 当jquery ajax遇上401请求的解决方法
  • jquery 插件写法
  • 租房税多少钱
  • 免责声明:网站部分图片文字素材来源于网络,如有侵权,请及时告知,我们会第一时间删除,谢谢! 邮箱:opceo@qq.com

    鄂ICP备2023003026号

    网站地图: 企业信息 工商信息 财税知识 网络常识 编程技术

    友情链接: 武汉网站建设