php单元测试如何实现

  介绍

这篇文章给大家分享的是有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单元测试如何实现就分享到这里了,希望以上内容可以对大家有一定的帮助,让大家可以学到更多知识。如果觉得文章不错,可以把它分享出去让更多的人看到吧!

php单元测试如何实现