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 防恶意刷新实现代码
May 16 PHP
让php处理图片变得简单 基于gb库的图片处理类附实例代码下载
May 17 PHP
PHP性能优化准备篇图解PEAR安装
Dec 05 PHP
thinkphp模板输出技巧汇总
Nov 24 PHP
smarty表格换行实例
Dec 15 PHP
php+xml实现在线英文词典之添加词条的方法
Jan 23 PHP
php实现将任意进制数转换成10进制的方法
Apr 17 PHP
thinkphp在低版本Nginx 下支持PATHINFO的方法分享
May 27 PHP
PHP入门教程之日期与时间操作技巧总结(格式化,验证,获取,转换,计算等)
Sep 11 PHP
PHP中str_split()函数的用法讲解
Apr 11 PHP
laravel 解决ajax异步提交数据,并还回填充表格的问题
Oct 15 PHP
在 Laravel 中动态隐藏 API 字段的方法
Oct 25 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
ThinkPHP的cookie和session冲突造成Cookie不能使用的解决方法
2014/07/01 PHP
php判断一个数组是否为有序的方法
2015/03/27 PHP
PHP获取远程图片并保存到本地的方法
2015/05/12 PHP
PHP 开发者该知道的 5 个 Composer 小技巧
2016/02/03 PHP
PHP编程实现微信企业向用户付款的方法示例
2017/07/26 PHP
PHP各种常见经典算法总结【排序、查找、翻转等】
2019/08/05 PHP
JavaScript让IE浏览器event对象符合W3C DOM标准
2009/11/24 Javascript
关于JavaScript中原型继承中的一点思考
2012/07/25 Javascript
JS中使用Array函数shift和pop创建可忽略参数的例子
2014/05/28 Javascript
JS实现的网页背景闪电闪烁效果代码
2015/10/17 Javascript
jquery特效 点击展示与隐藏全文
2015/12/09 Javascript
jQuery使用contains过滤器实现精确匹配方法详解
2016/02/25 Javascript
不间断循环滚动效果的实例代码(必看篇)
2016/10/08 Javascript
详解nodejs 文本操作模块-fs模块(五)
2016/12/23 NodeJs
Bootstrap 手风琴菜单的实现代码
2017/01/20 Javascript
angularJs使用$watch和$filter过滤器制作搜索筛选实例
2017/06/01 Javascript
swiper移动端轮播插件(触碰图片之后停止轮播)
2017/12/28 Javascript
javascript对HTML字符转义与反转义
2018/12/13 Javascript
微信小程序文章详情功能完整实例
2020/06/03 Javascript
Python实现生成简单的Makefile文件代码示例
2015/03/10 Python
分数霸榜! python助你微信跳一跳拿高分
2018/01/08 Python
python实现爬取图书封面
2018/07/05 Python
pycharm运行程序时在Python console窗口中运行的方法
2018/12/03 Python
ERLANG和PYTHON互通实现过程详解
2019/07/05 Python
python提取照片坐标信息的实例代码
2019/08/14 Python
在python中利用pycharm自定义代码块教程(三步搞定)
2020/04/15 Python
python3用PyPDF2解析pdf文件,用正则匹配数据方式
2020/05/12 Python
matplotlib常见函数之plt.rcParams、matshow的使用(坐标轴设置)
2021/01/05 Python
世界排名第一的万圣节服装店:Spirit Halloween
2018/10/16 全球购物
军用级手机壳,专为冒险而建:Zizo Wireless
2019/08/07 全球购物
后勤采购员岗位职责
2013/12/19 职场文书
个人务虚会发言材料
2014/10/20 职场文书
2015年求职自荐信范文
2015/03/04 职场文书
2016优秀毕业生个人事迹材料
2016/02/29 职场文书
导游词之广东佛山(南风古灶)
2019/09/24 职场文书
python套接字socket通信
2022/04/01 Python