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 相关文章推荐
用sql命令修改数据表中的一个字段为非空(not null)的语句
Jun 04 PHP
浅析php数据类型转换
Jan 09 PHP
PHP批量删除、清除UTF-8文件BOM头的代码实例
Apr 14 PHP
PHP中遇到BOM、编码导致json_decode函数无法解析问题
Jul 02 PHP
destoon首页调用求购供应信息的地区名称的方法
Aug 21 PHP
PHP中使用Imagick读取pdf并生成png缩略图实例
Jan 21 PHP
PHP查找数值数组中不重复最大和最小的10个数的方法
Apr 20 PHP
如何解决PHP无法实现多线程的问题
Sep 25 PHP
PHP闭包函数传参及使用外部变量的方法
Mar 15 PHP
php获取客户端IP及URL的方法示例
Feb 03 PHP
ThinkPHP 3.2.3实现加减乘除图片验证码
Dec 05 PHP
解决laravel 出现ajax请求419(unknown status)的问题
Sep 03 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动态图像的创建
2006/10/09 PHP
php checkbox复选框值的获取与checkbox默认值输出方法
2010/05/15 PHP
ThinkPHP采用模块和操作分析
2011/04/18 PHP
使用ThinkPHP自带的Http类下载远程图片到本地的实现代码
2011/08/02 PHP
php实现批量压缩图片文件大小的脚本
2014/07/04 PHP
PHP改进计算字符串相似度的函数similar_text()、levenshtein()
2014/10/27 PHP
ThinkPHP中order()使用方法详解
2016/04/19 PHP
php mysql 封装类实例代码
2016/09/18 PHP
javascript 基础篇3 类,回调函数,内置对象,事件处理
2012/03/14 Javascript
jquery 跳到顶部和底部动画2句代码简单实现
2013/07/18 Javascript
JavaScript调用后台的三种方法实例
2013/10/17 Javascript
jquery实现滑动图片自己测试的例子
2013/11/05 Javascript
屏蔽script注入小例子
2013/11/12 Javascript
jQuery多媒体插件jQuery Media Plugin使用详解
2014/12/19 Javascript
使用js画图之圆、弧、扇形
2015/01/12 Javascript
jQuery实现html表格动态添加新行的方法
2015/05/28 Javascript
vue双向数据绑定原理探究(附demo)
2017/01/17 Javascript
深入理解 webpack 文件打包机制(小结)
2018/01/08 Javascript
webpack 单独打包指定JS文件的方法
2018/02/22 Javascript
深入理解JS中Number(),parseInt(),parseFloat()三者比较
2018/08/24 Javascript
JavaScript实现简单计算器
2020/03/19 Javascript
jquery实现加载更多&quot;转圈圈&quot;效果(示例代码)
2020/11/09 jQuery
[01:16]DOTA2小知识课堂 Ep.03 芒果树无伤肉山
2019/12/05 DOTA
[49:15]DOTA2-DPC中国联赛 正赛 CDEC vs XG BO3 第二场 1月19日
2021/03/11 DOTA
python中enumerate函数用法实例分析
2015/05/20 Python
浅谈pycharm出现卡顿的解决方法
2018/12/03 Python
django 中使用DateTime常用的时间查询方式
2019/12/03 Python
python 绘制场景热力图的示例
2020/09/23 Python
aec加密 php_php aes加密解密类(兼容php5、php7)
2021/03/14 PHP
工业自动化专业毕业生推荐信
2013/11/18 职场文书
2014县政府领导班子三严三实对照检查材料思想汇报
2014/09/26 职场文书
环境工程专业毕业生求职信
2014/09/30 职场文书
法学专业大学生实习自我鉴定
2014/10/05 职场文书
租车协议书
2015/01/27 职场文书
培训班开班主持词
2015/07/02 职场文书
Django Paginator分页器的使用示例
2021/06/23 Python