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实现的随机广告显示代码
Jun 14 PHP
php计算十二星座的函数代码
Aug 21 PHP
解析PHP处理换行符的问题 \r\n
Jun 13 PHP
CI框架学习笔记(一) - 环境安装、基本术语和框架流程
Oct 26 PHP
PHP JSON格式的中文显示问题解决方法
Apr 09 PHP
如何把php5.3版本升级到php5.4或者php5.5
Jul 31 PHP
PHP使用redis实现统计缓存mysql压力的方法
Nov 14 PHP
PHP实现的简单排列组合算法应用示例
Jun 20 PHP
PHP迭代与递归实现无限级分类
Aug 28 PHP
PDO::getAvailableDrivers讲解
Jan 28 PHP
ThinkPHP3.2.3框架实现的空模块、空控制器、空操作,跳转到错误404页面图文详解
Apr 03 PHP
phpfpm的作用和用法
Oct 10 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提取中英文词语以及数字的首字母的方法介绍
2013/04/23 PHP
关于初学PHP时的知识积累总结
2013/06/07 PHP
PHP防盗链代码实例
2014/08/27 PHP
非常全面的php日期时间运算汇总
2015/11/04 PHP
thinkphp3.2点击刷新生成验证码
2016/02/16 PHP
Symfony2实现在controller中获取url的方法
2016/03/18 PHP
Yii调试查看执行SQL语句的方法
2016/07/15 PHP
js调用后台servlet方法实例
2013/06/09 Javascript
js中如何把字符串转化为对象、数组示例代码
2013/07/17 Javascript
uploadify在Firefox下丢失session问题的解决方法
2013/08/07 Javascript
使用jQuery中的when实现多个AJAX请求对应单个回调的例子分享
2014/04/23 Javascript
jQuery实现文本展开收缩特效
2015/06/03 Javascript
JavaScript中函数表达式和函数声明及函数声明与函数表达式的不同
2015/11/15 Javascript
Nodejs学习item【入门手上】
2016/05/05 NodeJs
BootStrap 智能表单实战系列(十)自动完成组件的支持
2016/06/13 Javascript
Javascript闭包与函数柯里化浅析
2016/06/22 Javascript
JavaScript ES6的新特性使用新方法定义Class
2016/06/28 Javascript
JavaScript中的this引用(推荐)
2016/08/05 Javascript
详细讲解JavaScript中的this绑定
2016/10/10 Javascript
Vue2实现组件props双向绑定
2016/12/02 Javascript
Bootstrap页面缩小变形的快速解决办法
2017/02/03 Javascript
微信小程序 基础组件与导航组件详细介绍
2017/02/21 Javascript
35个最好用的Vue开源库(史上最全)
2019/01/03 Javascript
Python中的魔法方法深入理解
2014/07/09 Python
DJANGO-ALLAUTH社交用户系统的安装配置
2014/11/18 Python
Python脚本处理空格的方法
2016/08/08 Python
Linux下为不同版本python安装第三方库
2016/08/31 Python
Python脚本实现12306火车票查询系统
2016/09/30 Python
Python中查看文件名和文件路径
2017/03/31 Python
python仿抖音表白神器
2019/04/08 Python
SKECHERS官方旗舰店:美国舒适运动休闲品牌
2017/12/22 全球购物
波兰多品牌运动商店:StreetStyle24.pl
2020/09/22 全球购物
职高毕业生自我鉴定
2013/10/21 职场文书
周年庆典主持词
2014/04/02 职场文书
小学教代会开幕词
2016/03/04 职场文书
你会写报告?产品体验报告到底该怎么写?
2019/08/14 职场文书