介绍
这篇文章给大家分享的是有php关单元测试如何实现的内容。小编觉得挺实用的,因此分享给大家做个参考。一起跟随小编过来看看吧。
窗户开发环境下,php使用单元测试可以使用PHPUnit)。
推荐php服务器
<强>安装PHPUnit) 强>
使用作曲家方式安装PHPUnit),其他安装方式请看这里
作曲家需要- dev PHPUnit)/PHPUnit) ^
6.2安装独白日志包,做PHPUnit)测试记录日志用。
作曲家需要独白/独白
安装好之后,我们可以看coomposer。json文件已经有这两个扩展包了:
“require": { “独白/monolog":“^ 1.23“, }, “require-dev": { “phpunit)/phpunit":“^ 6.2“; },
<强> PHPUnit)简单用法强>
<强> 1,单个文件测试强>
创建目录测试,新建文件StackTest。php,编辑如下:
& lt; php ?/* * * 1、作曲家安装独白日志扩展,安装phpunit)单元测试扩展包 * 2,引入autoload.php文件 * 3、测试案例 * * */名称空间的应用程序\测试; require_once __DIR__。& # 39;/. ./供应商/autoload.php& # 39;; 定义(“ROOT_PATH"目录名(__DIR__)。“/?; 使用独白\记录器; 使用独白\处理器\ StreamHandler; 使用PHPUnit) \ Framework \ TestCase; 类StackTest扩展TestCase { 公共函数testPushAndPop () { 堆栈美元=[]; $ this→assertequal (0, count($堆栈)); array_push($堆栈,& # 39;foo # 39;);//添加日志文件,如果没有安装滔滔不绝的话,则有关独白的代码都可以注释掉 $ this→日志()→错误(& # 39;你好# 39;,堆栈美元); $ this→assertequal (& # 39; foo # 39;,堆栈美元[count($堆栈)1]); $ this→assertequal (count($堆栈)); $ this→assertequal (& # 39; foo # 39;,最后栈($)); $ this→assertequal (0, count($堆栈)); } 公共日志()函数 {//创建一个日志通道 $日志=新Logger(& # 39;试验机# 39;); 日志→美元pushHandler(新StreamHandler (ROOT_PATH。& # 39;存储/日志/app.log& # 39;记录器:警告)); 错误日志→美元(“Error"); 返回$日志; } }
代码解释:
- <李>
StackTest为测试类
李> <李>StackTest继承于PHPUnit) \ Framework \ TestCase
李> <李>测试方法testPushAndPop(),测试方法必须为公共权限,一般以测试开的头,或者你也可以选择给其加注释@test来表
李> <李>在测试方法内,类似于assertequal()这样的断言方法用来对实际值与预期值的匹配做出断言。
李>命令行执行:
PHPUnit)命令测试文件命名
#框架。/供应商/bin//StackTest.php PHPUnit)测试//或者可以省略文件后缀名///供应商/bin/phpunit)测试/StackTest
执行结果:
?#框架。/供应商/bin//StackTest.php phpunit)测试 PHPUnit) 6.4.1塞巴斯蒂安·伯格曼和贡献者。 。1/1 (100%) 时间:56女士,记忆:4.00 mb OK(1测试,5断言)
感谢各位的阅读!关于php单元测试如何实现就分享到这里了,希望以上内容可以对大家有一定的帮助,让大家可以学到更多知识。如果觉得文章不错,可以把它分享出去让更多的人看到吧!