PHP使用phpunit进行单元测试示例


Posted in PHP onSeptember 23, 2019

本文实例讲述了PHP使用phpunit进行单元测试。分享给大家供大家参考,具体如下:

1. linux服务器上安装phpunit

wget https://phar.phpunit.de/phpunit.phar
chmod +x phpunit.phar
sudo mv phpunit.phar /usr/local/bin/phpunit

建立phpunit短命令

phpunit --version

[root@dongzi phpunit_test]# phpunit --version
PHPUnit 5.6.1 by Sebastian Bergmann and contributors.

2. 创建单元测试文件

文件名称为UnitTest.php

我们可以在单元测试文件内的方法里面调用功能模块,用数据模拟看是否运行正常,如果通则会报错,断掉

<?php
  class UnitTest extends PHPUnit_Framework_TestCase{
    public function testPushAndPop(){
      $stack = array();
      $this->assertEquals(0,count($stack));
      array_push($stack,'foo');
      //断言插入数据到$stack数组后值是否等于1
      $this->assertEquals(1,count($stack));
    }
    /**
     *定义test标签声明该方法是测试方法
     *@test
     ***/
    public function indexEquals(){
      $stack = array(1,2,3,4);
      //断言$stack[0]等于2
      $this->assertEquals(2,$stack[0]);
    }
  }
?>

3. phpunit运行文件

[root@dongzi phpunit_test]# phpunit UnitTest.php
PHPUnit 5.6.1 by Sebastian Bergmann and contributors.
.F                                 2 / 2 (100%)
Time: 82 ms, Memory: 6.75MB
There was 1 failure:
1) UnitTest::indexEquals
Failed asserting that 1 matches expected 2.
/wwwroot/phpunit_test/UnitTest.php:18
FAILURES!
Tests: 2, Assertions: 3, Failures: 1.

结果显示测试php文件中共运行两个模块,有一个模块错误

错误测试方法名为indexEquals报错行为18行。

因为因为stack等于0不等于断言的1,所以报错,定位错误成功。

希望本文所述对大家PHP程序设计有所帮助。

PHP 相关文章推荐
php 处理上百万条的数据库如何提高处理查询速度
Feb 08 PHP
色色整理的PHP面试题集锦
Mar 08 PHP
解析php php_openssl.dll的作用
Jul 01 PHP
thinkPHP实现瀑布流的方法
Nov 29 PHP
php更新mysql后获取改变行数的方法
Dec 25 PHP
PHP stream_context_create()函数的使用示例
May 12 PHP
XHProf报告字段含义的解析
May 17 PHP
PHP中session跨子域的三种实现方法
Jul 25 PHP
php  PATH_SEPARATOR判断当前服务器系统类型实例
Oct 28 PHP
PHP封装curl的调用接口及常用函数详解
May 31 PHP
PHP封装mysqli基于面向对象的mysql数据库操作类与用法示例
Feb 25 PHP
深入分析PHP设计模式
Jun 15 PHP
php快速导入大量数据的实例方法
Sep 23 #PHP
关于Yii中模型场景的一些简单介绍
Sep 22 #PHP
php定期拉取数据对比方法实例
Sep 22 #PHP
php设计模式之工厂模式用法经典实例分析
Sep 20 #PHP
php设计模式之单例模式用法经典示例分析
Sep 20 #PHP
php数组和链表的区别总结
Sep 20 #PHP
php输出反斜杠的实例方法
Sep 19 #PHP
You might like
php获取ip的三个属性区别介绍(HTTP_X_FORWARDED_FOR,HTTP_VIA,REMOTE_ADDR)
2012/09/23 PHP
使用淘宝IP库获取用户ip地理位置
2013/10/27 PHP
CMS中PHP判断系统是否已经安装的方法示例
2014/07/26 PHP
基于jQuery的前端数据通用验证库
2011/08/08 Javascript
javascript中的缓动效果实现程序
2012/12/29 Javascript
jQuery 网易相册鼠标移动显示隐藏效果实现代码
2013/03/31 Javascript
微信小程序链接传参并跳转新页面
2016/11/29 Javascript
angularjs中ng-attr的用法详解
2016/12/31 Javascript
js实现4个方向滚动的球
2017/03/06 Javascript
websocket+node.js实现实时聊天系统问题咨询
2017/05/17 Javascript
vue-cli配置文件——config篇
2018/01/04 Javascript
JS动画定时器知识总结
2018/03/23 Javascript
以v-model与promise两种方式实现vue弹窗组件
2018/05/21 Javascript
深入理解Vue.js轻量高效的前端组件化方案
2018/12/10 Javascript
JS实现动态无缝轮播
2020/01/11 Javascript
python采用django框架实现支付宝即时到帐接口
2016/05/17 Python
对Python捕获控制台输出流的方法详解
2019/01/07 Python
python2.7 安装pip的方法步骤(管用)
2019/05/05 Python
用python求一个数组的和与平均值的实现方法
2019/06/29 Python
windows下的pycharm安装及其设置中文菜单
2020/04/23 Python
python 模拟登录B站的示例代码
2020/12/15 Python
匡威帆布鞋美国官网:Converse美国
2016/08/22 全球购物
美国Jeep配件购物网站:Morris 4×4 Center
2019/05/01 全球购物
美国渔具店:FishUSA
2019/08/07 全球购物
美国家居装饰店:Pier 1
2019/09/04 全球购物
俄罗斯最大的灯具网站:Fandeco
2020/03/14 全球购物
大学本科毕业生求职简历的自我评价
2013/10/09 职场文书
运动会闭幕式解说词
2014/02/21 职场文书
2014年学校教学工作总结
2014/12/06 职场文书
实习科室评语
2015/01/04 职场文书
2016年寒假家长评语
2015/10/10 职场文书
如何撰写促销方案?
2019/07/05 职场文书
Nginx本地目录映射实现代码实例
2021/03/31 Servers
在HTML5 localStorage中存储对象的示例代码
2021/04/21 Javascript
使用feign服务调用添加Header参数
2021/06/23 Java/Android
DSP接收机前端设想
2022/04/05 无线电