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

  • 天猫精灵添加设备在哪里(天猫精灵添加设备失败怎么办)

    天猫精灵添加设备在哪里(天猫精灵添加设备失败怎么办)

  • 没有互关怎么看好友圈(没有互关怎么看对方直播)

    没有互关怎么看好友圈(没有互关怎么看对方直播)

  • 微信放到耳朵不切换(微信放在耳朵边为什么不能听筒)

    微信放到耳朵不切换(微信放在耳朵边为什么不能听筒)

  • iphone11卡槽位置(iphone11 卡槽)

    iphone11卡槽位置(iphone11 卡槽)

  • iphone7plus尺寸(iphone7plus尺寸和iphone8plus)

    iphone7plus尺寸(iphone7plus尺寸和iphone8plus)

  • iphone11录像功能不见了(苹果11咋个录像)

    iphone11录像功能不见了(苹果11咋个录像)

  • 华为怎么隐藏图标(华为怎么隐藏图库里的图片)

    华为怎么隐藏图标(华为怎么隐藏图库里的图片)

  • 拼多多怎么设置自动回复(拼多多怎么设置匿名买东西)

    拼多多怎么设置自动回复(拼多多怎么设置匿名买东西)

  • mac打不出大写字母(mac打不了大写英文字母)

    mac打不出大写字母(mac打不了大写英文字母)

  • 两个显卡可以同时用吗(两个显卡能不能串联)

    两个显卡可以同时用吗(两个显卡能不能串联)

  • 华为m68.4和10.4区别(华为m6 8.4 10.8区别)

    华为m68.4和10.4区别(华为m6 8.4 10.8区别)

  • 华为lon-al00是什么型号(华为手机lon-al00)

    华为lon-al00是什么型号(华为手机lon-al00)

  • iqoo是ufs3.0吗(iqoo一代ufs)

    iqoo是ufs3.0吗(iqoo一代ufs)

  • 华为mate30保时捷手机上市时间(华为MATE30保时捷参数)

    华为mate30保时捷手机上市时间(华为MATE30保时捷参数)

  • 手机连接蓝牙微信语音没声音(手机连接蓝牙微信语音听不了)

    手机连接蓝牙微信语音没声音(手机连接蓝牙微信语音听不了)

  • 微信可以发几秒的视频(微信可以发几秒语音)

    微信可以发几秒的视频(微信可以发几秒语音)

  • svip有什么用(天眼查svip有什么用)

    svip有什么用(天眼查svip有什么用)

  • 普通手机分辨率是多少(手机分辨率一般是多大)

    普通手机分辨率是多少(手机分辨率一般是多大)

  • 携程买了加速包能退吗(携程买了加速包没抢到票)

    携程买了加速包能退吗(携程买了加速包没抢到票)

  • 苹果表蜂窝版怎么插卡(苹果手表蜂窝版使用技巧)

    苹果表蜂窝版怎么插卡(苹果手表蜂窝版使用技巧)

  • iphone11运行内存多大(iPhone11运行内存怎么看)

    iphone11运行内存多大(iPhone11运行内存怎么看)

  • 抖音批量怎么清空喜欢(怎么清空抖音批量)

    抖音批量怎么清空喜欢(怎么清空抖音批量)

  • vivo手机返回键坏啦怎么办(vivo手机返回键在哪里找)

    vivo手机返回键坏啦怎么办(vivo手机返回键在哪里找)

  • nova5pro耳机孔在哪里(nova5ipro耳机插口)

    nova5pro耳机孔在哪里(nova5ipro耳机插口)

  • 怎么样解绑滴滴(怎么样解绑滴滴自动扣款)

    怎么样解绑滴滴(怎么样解绑滴滴自动扣款)

  • GrooveMonitor.exe是什么进程?GrooveMonitor.exe可以禁用卸载吗?

    GrooveMonitor.exe是什么进程?GrooveMonitor.exe可以禁用卸载吗?

  • Vue路由实现之通过URL中的hash(#号)来实现不同页面之间的切换(图表展示、案例分析、附源码详解)(vue路由怎么实现)

    Vue路由实现之通过URL中的hash(#号)来实现不同页面之间的切换(图表展示、案例分析、附源码详解)(vue路由怎么实现)

  • 个人所得税退付手续费是给企业还是会计
  • 增值税发票平台怎么下载已认证发票
  • 4s店事故处理流程
  • 消费税入哪个科目
  • 个人勾机给公司开票怎么开
  • 太阳能发电开票编码
  • 工资走公账和私账哪个好
  • 什么叫欠账
  • 一般纳税人必须先有进项才能开出来发票吗
  • 回购股票增加权益吗
  • 民办职业技能培训学校办学许可证
  • 油费预付卡如何开发票
  • 租赁的房子
  • 冲销暂估入库
  • 缴纳税费及工会经费
  • 企业给员工的异地安家费交个税吗?
  • 营改增之后就没有营业税了吗
  • 认缴制下股权转让如何不交税
  • 货物分批付款会计处理
  • 一般纳税人出售不动产增值税税率是多少
  • 劳务费个人所得税税率
  • 教培机构房租占比
  • 境外投资企业如何交税
  • 生产企业出口退税全部流程
  • 无形资产和长期待摊费用思维导图
  • 短期借款利息的处理
  • 华为matex3用什么芯片
  • 印花税是怎么计税的
  • 财务红冲是什么意思
  • 所得税汇算清缴时间期限
  • 增值税专用发票有几联?
  • php zmq
  • 坏账损失税务处理
  • Uni-app + Vue3 + TS +Vite 创建项目
  • 向客户收费
  • 低代码开发开源
  • echarts api文档
  • jquery+thinkphp实现跨域抓取数据的方法
  • 宝塔主机分销系统设计
  • 开具红字发票资料清单
  • 住宿费补贴
  • 房地产企业将开发产品用于职工福利
  • 结转完工产品成本的会计科目
  • 企业所得税税前扣除管理办法2018
  • 已经费用化的研发支出还可以资本化吗
  • 生育津贴和产假工资就高原则
  • 小规模纳税人在哪里查
  • 以前年度社保计提出错了怎么调整
  • 记账凭证错误要重开吗
  • 财政收回项目资金请示
  • 按工人工资比例结转制造费用会计科目
  • 因产品质量问题造成的损失怎么赔偿
  • 工伤事故补助或赔偿标准
  • 成本会计核算方法论文怎么写
  • mysql5.5解压版安装教程
  • win8系统没有无线网络连接
  • windows10访问xp
  • win8怎么设置开机启动项
  • debian启用ssh
  • win7无法更改设置
  • Ubuntu系统怎么设置root
  • 苹果电脑dashboard什么意思
  • centos7 目录结构
  • windows xp
  • mac的dock栏怎么设置
  • rdclient怎么用win10怎么设置
  • win8.1如何设置
  • windows10 2021预览版
  • Linux 压缩某个文件夹的实现方法
  • div left
  • pcl读取ply文件
  • android!
  • 批量ghost
  • mailto的使用技巧分享
  • python中django
  • 北京社保退保手续办理
  • 江西省国家税务局发票查询
  • 合伙企业可以融资吗
  • 吉林省电子税务局官网
  • 昆明学院领导班子
  • 免责声明:网站部分图片文字素材来源于网络,如有侵权,请及时告知,我们会第一时间删除,谢谢! 邮箱:opceo@qq.com

    鄂ICP备2023003026号

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

    友情链接: 武汉网站建设