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 相关文章推荐
URL Rewrite的设置方法
Jan 02 PHP
利用PHP和AJAX创建RSS聚合器的代码
Mar 13 PHP
php出现Cannot modify header information问题的解决方法大全
Apr 09 PHP
sqlyog 中文乱码问题的设置方法
Oct 19 PHP
PHP setcookie() cannot modify header information 的解决方法
Jan 09 PHP
php安全配置 如何配置使其更安全
Dec 16 PHP
php模板函数 正则实现代码
Oct 15 PHP
PHP header()函数常用方法总结
Apr 11 PHP
CodeIgniter中使用Smarty3基本配置
Jun 29 PHP
wamp服务器访问php非常缓慢的解决过程
Jul 01 PHP
深入理解PHP中的Streams工具
Jul 03 PHP
PHP自定义序列化接口Serializable用法分析
Dec 29 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
snoopy PHP版的网络客户端提供本地下载
2008/04/15 PHP
PHP 面向对象实现代码
2009/11/11 PHP
php中error与exception的区别及应用
2014/07/28 PHP
PHP return语句另类用法不止是在函数中
2014/09/17 PHP
PHP动态规划解决0-1背包问题实例分析
2015/03/23 PHP
PHP验证码无法显示的原因及解决办法
2017/08/11 PHP
统计PHP目录中的文件数方法
2019/03/05 PHP
[原创]PHP global全局变量经典应用与注意事项分析【附$GLOBALS用法对比】
2019/07/12 PHP
php+iframe 实现上传文件功能示例
2020/03/04 PHP
javascript中的数字与字符串相加实例分析
2011/08/14 Javascript
jQuery点击后一组图片左右滑动的实现代码
2012/08/16 Javascript
JS仿百度自动下拉框模糊匹配提示
2016/07/25 Javascript
js实现图片左右滚动效果
2017/02/27 Javascript
JS实现延迟隐藏功能的方法(类似QQ头像鼠标放上展示信息)
2017/12/28 Javascript
angularjs1.5 组件内用函数向外传值的实例
2018/09/30 Javascript
Vue.js@2.6.10更新内置错误处机制Fundebug同步支持相应错误监控
2019/05/13 Javascript
Vue实现导航栏的显示开关控制
2019/11/01 Javascript
jQuery实现滑动星星评分效果(每日分享)
2019/11/13 jQuery
es6 super关键字的理解与应用实例分析
2020/02/15 Javascript
Vue的data、computed、watch源码浅谈
2020/04/04 Javascript
vue+canvas实现拼图小游戏
2020/09/18 Javascript
利用JS判断元素是否为数组的方法示例
2021/01/08 Javascript
[14:57]DOTA2 HEROS教学视频教你分分钟做大人-幽鬼
2014/06/13 DOTA
[00:36]DOTA2勇士令状莱恩声望物品——冥晶之厄展示
2018/05/25 DOTA
[01:04:30]Fnatic vs Mineski 2018国际邀请赛小组赛BO2 第二场 8.17
2018/08/18 DOTA
python实现简单tftp(基于udp协议)
2018/07/30 Python
使用Python如何测试InnoDB与MyISAM的读写性能
2018/09/18 Python
使用pandas把某一列的字符值转换为数字的实例
2019/01/29 Python
python matplotlib:plt.scatter() 大小和颜色参数详解
2020/04/14 Python
Python使用tkinter实现摇骰子小游戏功能的代码
2020/07/02 Python
HTML5中canvas中的beginPath()和closePath()的重要性
2018/08/24 HTML / CSS
销售行业个人求职自荐信
2013/09/25 职场文书
跳蚤市场口号
2014/06/13 职场文书
现实表现材料范文
2014/12/23 职场文书
Python OpenCV 图像平移的实现示例
2021/06/04 Python
JavaScript原型链详解
2021/11/07 Javascript