位置: 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织梦自带采集插件详细图文教程(织梦使用手册)

  • realme gt neo2有几个颜色(realme gt neo2值得入手吗)

    realme gt neo2有几个颜色(realme gt neo2值得入手吗)

  • 红米k50pro卡槽在哪(红米k50pro+)

    红米k50pro卡槽在哪(红米k50pro+)

  • 健康码接龙怎么在微信接龙(健康码接龙怎么在qq接龙)

    健康码接龙怎么在微信接龙(健康码接龙怎么在qq接龙)

  • 斗鱼超管是干什么的(斗鱼超管日常怎么工作)

    斗鱼超管是干什么的(斗鱼超管日常怎么工作)

  • 淘宝发布的问大家怎么没有显示(淘宝发出的提问在哪找)

    淘宝发布的问大家怎么没有显示(淘宝发出的提问在哪找)

  • 有铃声没有媒体声音(有铃声没有媒体声音怎么弄)

    有铃声没有媒体声音(有铃声没有媒体声音怎么弄)

  • 抖音如何为主播点赞(抖音如何为主播开直播会员)

    抖音如何为主播点赞(抖音如何为主播开直播会员)

  • 苹果手机断网怎么回事(苹果手机断网没信号)

    苹果手机断网怎么回事(苹果手机断网没信号)

  • 电脑显示屏亮了但没画面(电脑显示屏亮了但是鼠标没反应怎么回事儿)

    电脑显示屏亮了但没画面(电脑显示屏亮了但是鼠标没反应怎么回事儿)

  • 抖音被拉黑了还能@对方吗(抖音被拉黑了还可以发私信给对方吗)

    抖音被拉黑了还能@对方吗(抖音被拉黑了还可以发私信给对方吗)

  • 抖音灯牌怎么设置(抖音灯牌怎么设置自动点亮)

    抖音灯牌怎么设置(抖音灯牌怎么设置自动点亮)

  • 充电宝还进去了还显示使用中怎么办(充电宝还进去了过几天才扣款)

    充电宝还进去了还显示使用中怎么办(充电宝还进去了过几天才扣款)

  • 8h是小米品牌吗(8h是小米品牌吗怎么样)

    8h是小米品牌吗(8h是小米品牌吗怎么样)

  • 闲鱼永久禁言怎么申诉(闲鱼永久禁言解除)

    闲鱼永久禁言怎么申诉(闲鱼永久禁言解除)

  • 苹果5s1533是什么版本(iphone5s1530什么意思)

    苹果5s1533是什么版本(iphone5s1530什么意思)

  • 人脸识别不了怎么解决(人脸识别不了怎么解绑健康码)

    人脸识别不了怎么解决(人脸识别不了怎么解绑健康码)

  • 怎样避免被好友拉进群(怎样避免被好友拉进群聊)

    怎样避免被好友拉进群(怎样避免被好友拉进群聊)

  • gps数据怎么导入cass(gps数据怎么导入arcgis)

    gps数据怎么导入cass(gps数据怎么导入arcgis)

  • 荣耀9提示灯怎么设置(荣耀9提示灯怎样关闭)

    荣耀9提示灯怎么设置(荣耀9提示灯怎样关闭)

  • 参考文献的标注怎么弄(参考文献的标注怎么弄在右上角)

    参考文献的标注怎么弄(参考文献的标注怎么弄在右上角)

  • 手机4g速度慢怎么回事(手机4g特别慢)

    手机4g速度慢怎么回事(手机4g特别慢)

  • 华为地图什么时候可以用(华为地图什么时候可以下载)

    华为地图什么时候可以用(华为地图什么时候可以下载)

  • iphonexs怎么广角拍摄(iphonexs怎么设置广角)

    iphonexs怎么广角拍摄(iphonexs怎么设置广角)

  • 怎么获取ip和子网掩码(如何获取ip)

    怎么获取ip和子网掩码(如何获取ip)

  • 支付宝如何查询高考成绩(支付宝如何查询婚姻状况)

    支付宝如何查询高考成绩(支付宝如何查询婚姻状况)

  • 手机掉电快怎么办啊(手机掉电快怎么办华为)

    手机掉电快怎么办啊(手机掉电快怎么办华为)

  • 电子医保卡怎么开通(电子医保卡怎么添加家人)

    电子医保卡怎么开通(电子医保卡怎么添加家人)

  • aoltray.exe进程信息查询 aoltray进程安全吗(进程aissca.exe)

    aoltray.exe进程信息查询 aoltray进程安全吗(进程aissca.exe)

  • 金税盘版开票软件怎么升级
  • 已申报税额是什么意思,要交吗
  • 小微企业税收优惠政策2023年
  • 股东转让股权公司如何做账
  • 销售费用有业务招待费餐费么
  • 医院财政资金免企业所得税吗
  • 汇算清缴的
  • 职工差旅费现金流出属于
  • 物业采购主要做什么
  • 汇算清缴所得税是什么意思
  • 随意变更会计处理方法违背了
  • 建筑挂靠企业账务处理
  • 房屋租赁合同印花税计税依据
  • 没有收到房租发票可以摊销吗?
  • 认缴制下实缴资本流程
  • 违约金没有发票
  • 过期没有进行申报印花税会怎样
  • 没有计提12月底的工资
  • 当月工资额什么意思
  • 一般纳税人销售自己使用过的物品
  • 个人申请税务局开技术服务发票如何收费
  • 转让非独占许可使用权调整
  • 汇算清缴补开票交税怎么写摘要?
  • 净值在财务报表哪找
  • 制造费用月末怎么结转到生产成本
  • 王者荣耀中牛魔王的技能
  • 预提费用支付是指什么
  • win10永久激活码神key一周内
  • iphone系统推送
  • php二维数组遍历
  • php parse_url
  • php中提交表单数据
  • php file_exists 检查文件或目录是否存在的函数
  • 返利怎么走账
  • php自定义header
  • 免税货物增值税计算公式
  • html基础总结
  • php读取php文件内容
  • vue的安装步骤
  • 【GoF 23】23种设计模式与OOP七大原则概述
  • wordpress文章主题
  • 跨年度的利息收入怎么做账
  • 出口业务的会计处理
  • mysql日志有哪些
  • 补交上年度企业所得税税额需要本年度纳税调增吗
  • 一般纳税人开出去的普票可以用进项抵扣吗
  • 现金流量表的编制依据
  • 出租机械设备
  • 加油票子能报销吗
  • 月销售额不超过15万的免征增值税
  • 委托代销商品的核算
  • 利润表期初余额怎么填
  • 小企业会计准则2023电子版
  • 要约收购的条件和程序具体包括哪些?
  • 运费未付的会计分录怎么做
  • 收购农产品没有发票
  • 运输过程发生的合理损耗计入成本吗
  • mysql 修改配置
  • Excel导入Sqlserver数据库脚本
  • Solaris 远程磁带备份步骤
  • linux系统怎么安装
  • pruttct.exe - pruttct是什么进程 有什么用
  • inc是什么软件
  • 查看linux的命令
  • linux 进入命令
  • cocos2dx入门
  • unity项目资源
  • jquery的用处
  • js中数组操作
  • eclipse4.9.0安装windowbuilder
  • vue的自定义组件
  • 开发 工具
  • 网页全屏是哪个键
  • jquery添加文字
  • javascript编程基础
  • 广东高速费用支付宝支付如何开发票
  • 土地增值税有哪些征收方式
  • 电子签章在电脑上怎样加印章
  • 上海各区财政收入排名
  • 湖南 资源税
  • 免责声明:网站部分图片文字素材来源于网络,如有侵权,请及时告知,我们会第一时间删除,谢谢! 邮箱:opceo@qq.com

    鄂ICP备2023003026号

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

    友情链接: 武汉网站建设