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 相关文章推荐
图书管理程序(三)
Oct 09 PHP
PHP过滤★等特殊符号的正则
Jan 27 PHP
查找php配置文件php.ini所在路径的二种方法
May 26 PHP
PHP中file_exists函数不支持中文名的解决方法
Jul 26 PHP
PHP使用array_multisort对多个数组或多维数组进行排序
Dec 16 PHP
php可生成缩略图的文件上传类实例
Dec 17 PHP
php文件下载处理方法分析
Apr 22 PHP
PHP中的traits实现代码复用使用实例
May 13 PHP
PHP语法小结之基础和变量
Nov 22 PHP
浅析PHP中的闭包和匿名函数
Dec 25 PHP
零基础php编程好学吗
Oct 11 PHP
如何在PHP中使用数组
Jun 09 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&amp;mysql(六)
2006/10/09 PHP
php中iconv函数使用方法
2008/05/24 PHP
从零开始学YII2框架(五)快速生成代码工具 Gii 的使用
2014/08/20 PHP
跟我学Laravel之路由
2014/10/15 PHP
使用php的HTTP请求的库Requests实现美女图片墙
2015/02/22 PHP
php中html_entity_decode实现HTML实体转义
2018/06/13 PHP
关于JavaScript的with 语句的使用方法
2011/05/09 Javascript
js常用代码段整理
2011/11/30 Javascript
在JavaScript的jQuery库中操作AJAX的方法讲解
2015/08/15 Javascript
微信小程序 教程之WXSS
2016/10/18 Javascript
jQuery 移动端拖拽(模块化开发,触摸事件,webpack)
2016/10/28 Javascript
原生js获取浏览器窗口及元素宽高常用方法集合
2017/01/18 Javascript
浅谈react-native热更新react-native-pushy集成遇到的问题
2017/09/30 Javascript
webpack打包node.js后端项目的方法
2018/03/10 Javascript
JQuery animate动画应用示例
2019/05/14 jQuery
JavaScript实现省市区三级联动
2020/02/13 Javascript
JavaScript变量Dom对象的所有属性
2020/04/30 Javascript
微信小游戏中three.js离屏画布的示例代码
2020/10/12 Javascript
node脚手架搭建服务器实现token验证的方法
2021/01/20 Javascript
[42:25]2018DOTA2亚洲邀请赛 4.5 淘汰赛 LGD vs Liquid 第三场
2018/04/06 DOTA
python定时检查启动某个exe程序适合检测exe是否挂了
2013/01/21 Python
python操作MongoDB基础知识
2013/11/01 Python
Python导出数据到Excel可读取的CSV文件的方法
2015/05/12 Python
分析并输出Python代码依赖的库的实现代码
2015/08/09 Python
Python实现读写sqlite3数据库并将统计数据写入Excel的方法示例
2017/08/07 Python
python 生成图形验证码的方法示例
2018/11/11 Python
详解pandas的外部数据导入与常用方法
2019/05/01 Python
世界上最大的街头服饰网站:Karmaloop
2017/02/04 全球购物
哈弗商学院毕业生求职信
2014/02/26 职场文书
大学生两会学习心得体会
2014/03/10 职场文书
歌唱比赛主持词
2014/03/18 职场文书
委托代理人授权委托书范本
2014/09/24 职场文书
房贷收入证明范本
2015/06/12 职场文书
2015年暑期见闻
2015/07/14 职场文书
浅谈MySQL之浅入深出页原理
2021/06/23 MySQL
spring cloud eureka 服务启动失败的原因分析及解决方法
2022/03/17 Java/Android