php使用PHP-QA的.phpt测试系统做单元测试

各类QA问答系统的总结与技术实现(持续更新) 问答系统是近几年大火的nlp应用之一,很多公司不论大小都一窝蜂地研发问答机器人、智能客服。不论是搜狗机器人汪仔在《一战到底》中战胜人类选手,还是前阵子火爆的直播答题类软件,都加速了问答系统走入大众的视野。但是不得不说,即使问答系统前景如此广阔,其背后的技术仍没有达到十分成熟的地步。我从去年9月开始接触QA到现在,对这一领域的一些常见任务和方法都有了初步了解,现一个总结。 根据应用场景和... 阅读详情

php使用PHP-QA的.phpt测试系统做单元测试

摘要

测试文件标志大小写敏感,要求是大写。测试标志有三部分:–TEST–,–FILE–,–EXPECT–。

wamp安装pear

php安装pear

测试文件编写

原文件 str_replace.php

<?php
/**
 * 使用PHP-QA的.phpt做单元测试
 */
$str = 'Hello, all!';
var_dump(str_replace('all', 'world', $str));

测试文件 str_replace.phpt

--TEST--
str_replace() function
--FILE--
<?php
/**
 * 使用PHP-QA的.phpt做单元测试
 */

$str = 'Hello, all!';
echo(str_replace('all', 'world', $str));
?>
--EXPECT--
Hello, world!

运行测试

我的测试文件路径是 E:\wamp64\www\my-site\test-php\php_manual\test\trait\str_replace.phpt,运行测试命令是

pear run-tests str_replace.phpt 

运行该目录下的所有测试的命令是

pear run-tests *.phpt 

测试结果是

E:\wamp64\www\my-site\test-php\php_manual\test\trait>pear run-tests *.phpt
Running 2 tests
FAIL sayHello() function
<?php[2.phpt]
PASS str_replace() function[str_replace.phpt]
wrote log to "E:\wamp64\www\my-site\test-php\php_manual\test\trait\run-tests.log"
TOTAL TIME: 00:00
1 PASSED TESTS
0 SKIPPED TESTS
1 FAILED TESTS:
E:\wamp64\www\my-site\test-php\php_manual\test\trait\2.phpt
Some tests failed

测试文件格式解析

测试文件标志大小写敏感。要求是大写,如果写成了小写,运行时会报错

Invalid sections formats in test file

–TEST–

--TEST-- 下写明要测试的函数,比如 str_replace() function这部分可以随便写,相当于注释

这部分要写在PHP代码之外,即写在<?php之前。

如何测试类方法,目前不知道。

经测试,测试类的方法与测试非类代码一样。

–FILE–

--FILE-- 下写要测试的代码,它就是正式代码。

注意这部分要加上PHP脚本的结束标志?>

–EXPECT–

这部分写代码的执行结果。注意,要和执行结果完全一致。

参考资料

.phpt官方文档

php源码测试文件 F:\code\php-7.0.11\tests

PHP自动化测试(一)make test 和 phpt PHP编译完成后,编译程序会提示不要忘记执行make test,make test会检查编译后的程序是否有问题(PS:并不一定编译成功的程序就会没有问题了)。 一、关于make test 打开Makefile文件,找到make test对应的代码,其中 $(PHP_EXECUTABLE) -n -c $(top_builddir)/tmp-php.ini $(PHP_TEST_SETTIN 阅读详情

相关推荐

citools:用于 Travis、Coveralls 和 Scrutinizer 的 PHP QA 工具的 Composer 元包

用于 PHP 代码的 CI-Tools Composer 元包 您想要一个加载常见 PHP QA 工具的存储库吗? 您想要有关 GitHub 周围所有用于 PHP 分析的精美服务的示例吗? 你想成为一个徽章装扮者吗? 这个模块来救援! composer.json 包含用于 、 和集成的 QA 工具的定义。 所以集成这些工具真的很容易。 安装 这个模块的安装使用composer。 对于 composer 文档,请参阅 。 将以下内容放入您的 composer.json { "require-dev": { "sandrokeil/citools": "~2.0" } } 文档 有关示例配置,请参阅 、 和 。 另请参阅以初始化您的 ZF2 项目以进行测试。 持续集成/检查工具 在这些服务上注册您的存储库以进行 PHP 分析。 特拉维斯CI 审

2023 CmsEasyQA问答系统PHP源码

通过这些功能,CmsEasyQA问答系统可以激发用户创作内容,扩散有价值的信息,从而有利于品牌传播和产品营销。6.安装后,立即修改网站后台地址,登录网站后,在 [ 设置 ] - [ 全局设置 ] - [ 网站地址 ] 输入框输入自定义后台地址,可以是英文或拼音与数字,请务必不要输入符号。4.输入空间商提供的数据库信息后,自定义网站用户名和密码后,点击安装即可。

729

phpqatools:PHP QA工具编写器的元软件包

PHP质量检查工具 PHP QA工具编写器的元软件包,用于简化必要软件包的安装和配置: PHPUnit PHPCodeSniffer PHPLOC 依赖 PHPMD PHPCPD PHPDocumentor PS .:我们从包含了每个项目的最新版本: 安装 在全局上下文中安装Composer $ curl -sS https://getcomposer.org/installer | php $ mv composer.phar /usr/local/bin/composer 安装所有工具 对于通过composer进行的系统范围内的安装,您可以运行: $ composer global require 'wend/phpqatools=*' 确保您的路径中有~/.composer/vendor/bin/ 。 测试是否还可以: $ phploc --versio

制作一个PHP互动网页

制作一个智能问答系统系统根据存储于文本文件中的用户信息判断用户是否是合法登录。用户登录后可以进行智力问答,回答完后,系统会计算其所得分数。 @[toc](PHP互动网页) (1)制作登陆表单 先建立一个info.txt的文本文件在其中保存用户的信息,有用户名、密码两个信息,中间用“|”隔开,如输入以下几行数据: user1|123456 user2|654321 user3|111111 新建login.php文件(用户登录页面),输入以下代码: <style type="text/c

weixin_46730908的博客 8180

OpenCore Legacy Patcher:突破硬件限制的技术方案实现老旧Mac系统兼容性突破

面对苹果官方对老旧Mac设备的系统支持终止,OpenCore Legacy Patcher提供了一套创新的技术方案,通过引导层补丁和硬件兼容性修复,让2007年及以后的Intel架构Mac能够运行最新的macOS系统。这个开源项目解决了硬件兼容性限制的核心问题,通过内存注入和动态补丁技术,在不修改磁盘文件的前提下实现系统兼容性突破。 ## 技术痛点分析:老旧Mac的系统兼容性困境 当苹果宣布停

gitblog_00056的博客 381

最新CmsEasyQA悬赏问答系统PHP源码分享

CmsEasyQA问答系统是一个以PHP+MySQL进行开发的php问答系统源码。压缩包上传到空间解压到网站目录,或压缩包解压后将压缩包内文件夹和文件上传到网站目录。在浏览器输入域名/install/index.php会提示安装输入空间商提供的数据库信息后,自定义网站用户名和密码后,点击安装即可。默认网站后台地址为域名/admin/!!!......

reghgr的博客 835

CmsEasyQA 问答系统PHP源码

介绍: 压缩包上传到空间解压到网站目录,或压缩包解压后将压缩包内文件夹和文件上传到网站目录。 在浏览器输入 域名/install/index.php 会提示安装 输入空间商提供的数据库信息后,自定义网站用户名和密码后,点击安装即可。 默认网站后台地址为: 域名/admin/ 网盘下载地址: http://kekewl.org/HhAFZ0P26Oj0 图片: ...

php源码 510

phpt文件说明

转自:https://github.com/reeze/tipi/blob/248c0ab7f966f10db5bc300c2ae82214cb2010b3/book/E-phpt-file.markdown phpt文件用于PHP的自动化测试,这是PHP用自己来测试自己的测试数据用例文件。测试脚本通过执行PHP源码根目录下的run-tests.php,读取phpt文件执行测试phpt文件

wolinxuebin的专栏 3704

LitElement完全指南:如何快速构建现代化Web组件

LitElement是创建快速、轻量级Web组件的简单基类,它结合了lit-html的声明式模板系统,让开发者能够轻松构建高性能的Web组件。无论你是前端新手还是资深开发者,这个完整指南将带你从零开始掌握LitElement的核心概念和最佳实践。🚀 ## 为什么选择LitElement开发Web组件? LitElement提供了现代化的开发体验,通过响应式属性和声明式模板,让组件开发变得简单

gitblog_00150的博客 488

PHPQA:一站式PHP质量分析工具

PHPQA:一站式PHP质量分析工具 项目基础介绍和主要编程语言 PHPQA是一个开源的PHP质量分析工具,旨在通过CLI(命令行界面)提供一个集成的分析环境。该项目的主要编程语言是PHP,适用于所有使用PHP进行开发的项目。 项目核心功能 PHPQA集成了多种PHP质量分析工具,包括: PHP Parallel Lint:快速检查PHP文件的语法错误,提供更丰富的输出。 PHP Coding ...

gitblog_00230的博客 410

php自动化脚本语言,浅析 PHP 官方自动化测试方法

PHP 官方 自动化 测试 方法 简述 以下介绍以 PHP 最新 官方 版本 5.2.8 的源码在 LINUX 系统平台上的分析为例展开。首先来看一下 PHP 的 自动化 测试 脚本 PHPT 脚本。 自动化 测试 脚本 PHPT 示例 PHP测试 脚本是以“ .phpt ”为后缀,包含 TEST,FILEPHP 官方自动化测试方法简述以下介绍以 PHP 最新官方版本 5.2.8 的源码在 ...

weixin_39597323的博客 323

php t函数,PHP 函数入门教程

真正的权力的PHP来自其职能。在PHP -有7 00多个内置的功能。-------------------------------------------------- ------------------------------PHP函数在本教程,我们将告诉您如何建立自己的职能。参考和范例内置的职能,请访问我们的PHP参考。创建一个PHP函数一个函数是一个代码块,可以被处决时,我们需要它。创建P...

weixin_29938387的博客 269

php中 t 输出不了,与.phpt类似的简单(非单元)测试框架应该评估输出/头/错误/结果...

我正在寻找一个更简单的测试框架。我看了一些phpunit和simpletest脚本,发现所需的语法甜头令人震惊。斯内普测试听起来不错,但也很麻烦。ApacheMore::测试太程序化了,即使对我来说也是如此。而symfony-lime试验在这方面是独一无二的。类似BDD工具http://everzet.com/Behat/#basics非常好,但即使是两个抽象级别也比期望的高。此外,到目前为止,我...

weixin_30431137的博客 173

php中\r \r\n \t的区别,是什么意思

\n 软回车:       在Windows 中表示换行且回到下一行的最开始位置。相当于Mac OS 里的 \r 的效果。       在Linux、unix 中只表示换行,但不会回到下一行的开始位置。 \r 软空格:       在Linux、unix 中表示返回到当行的最开始位置。       在Mac OS 中表示换行且返回到下一行的最开始位置,相当于Windows 里的 \n

天行健,君子自强不息 1381

在vim中调试php, 安装php code_sniffer,php-md. phpqa.vim

1:安装php code sniffer 和 php md php code sniffer a: centos系的  #yum install php-pear #yum install ImageMagick-devel #pear install PHP_CodeSniffer #pear channel-discover pear.phpmd.org #pear channe

rainysia的专栏 5363

SQL--

一、什么是域? 域是一种在关系当中列所允许值的表达式。当定义一个表的时候,会为每个列指派一种数据类型(如字符型或者是整型),这些数据类型提供了一个广泛域。数据库管理系统将不会保存那些违背约束的数据信息。 SQL-92标准引入了用户自定义域的概念。要使用用户自定义域,必须先创建该自定义域。 二、语法 1.使用CREATE DOMAIN语句创建 CREATE DOMAIN domain_na

东垂小夫 5529

算法的时间复杂度推导方法

算法的时间复杂度推导方法独立博客地址:chugang.net语句频度语句频度是指语句的重复执行次数。推导大O阶方法方法 用常数1取代运行时间中的所有加法常数。 在修改后的运行次数函数中,只保留最高阶项。 如果最高阶项存在且不是1,则去除与这个项相乘的乘数。 常数阶举例运用右侧注释中的 num 表示语句执行的次数。int sum = 0, n = 100; /* num = 1 */ su

东垂小夫 4687

在startos搭建LAMP之安装mysql

一、获取mysql的源码安装包 在mysql的官网上有多个版本,我不知道该选择哪个。先胡乱地选择这个 http://dev.mysql.com/get/Downloads/MySQL-5.6/mysql-5.6.15-linux-glibc2.5-i686.tar.gz wget http://dev.mysql.com/get/Downloads/MySQL-5.6/mysql

东垂小夫 3633
上一篇: php安装pear
下一篇: 《Linux操作系统实用教程》笔记之防火墙使用
刚刚悟道
博客等级 码龄15年 19粉丝 163原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值