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数组函数序列之array_key_exists() - 查找数组键名是否存在
Oct 29 PHP
thinkphp3.0 模板中函数的使用
Nov 13 PHP
IIS+fastcgi下PHP运行超时问题的解决办法详解
Jun 20 PHP
PHP对接微信公众平台消息接口开发流程教程
Mar 25 PHP
thinkPHP实现将excel导入到数据库中的方法
Apr 22 PHP
Yii列表定义与使用分页方法小结(3种方法)
Jul 15 PHP
PHP设计模式之工厂模式与单例模式
Sep 28 PHP
Mac下php 5升级到php 7的步骤详解
Apr 26 PHP
php str_replace替换指定次数的方法详解
May 05 PHP
Yii 2中的load()和save()示例详解
Aug 03 PHP
Laravel框架路由和控制器的绑定操作方法
Jun 12 PHP
PHP一致性hash分布式算法封装类定义与用法示例
Aug 04 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
帅气的琦玉老师
2020/03/02 日漫
PHP的SQL注入实现(测试代码安全不错)
2011/02/27 PHP
php实现Linux服务器木马排查及加固功能
2014/12/29 PHP
php查看网页源代码的方法
2015/03/13 PHP
在JavaScript中遭遇级联表达式陷阱
2007/03/08 Javascript
顶部缓冲下拉菜单导航特效的JS代码
2013/08/27 Javascript
jquery.cookie() 方法的使用(读取、写入、删除)
2013/12/05 Javascript
JS cookie中文乱码解决方法
2014/01/28 Javascript
js中的hasOwnProperty和isPrototypeOf方法使用实例
2014/06/06 Javascript
js使用DOM操作实现简单留言板的方法
2015/04/10 Javascript
AngularJS 获取ng-repeat动态生成的ng-model值实例详解
2016/11/29 Javascript
解决html-jquery/js引用外部图片时遇到看不了或出现403的问题
2017/09/22 jQuery
Vuepress 搭建带评论功能的静态博客的实现
2019/02/17 Javascript
jQuery实现简单评论功能
2020/08/19 jQuery
vue 项目引入echarts 添加点击事件操作
2020/09/09 Javascript
js获取图片的base64编码并压缩
2020/12/05 Javascript
[01:17]Ti4 循环赛第一日回顾
2014/07/11 DOTA
[01:51]DAC趣味视频-如何成为职业选手.mp4
2017/04/02 DOTA
使用70行Python代码实现一个递归下降解析器的教程
2015/04/17 Python
python开启多个子进程并行运行的方法
2015/04/18 Python
Python遍历文件夹和读写文件的实现代码
2016/08/28 Python
numpy排序与集合运算用法示例
2017/12/15 Python
Python实现监控键盘鼠标操作示例【基于pyHook与pythoncom模块】
2018/09/04 Python
pandas 透视表中文字段排序方法
2018/11/16 Python
python将txt等文件中的数据读为numpy数组的方法
2018/12/22 Python
利用pyinstaller打包exe文件的基本教程
2019/05/02 Python
Python实现的服务器示例小结【单进程、多进程、多线程、非阻塞式】
2019/05/23 Python
django 实现手动存储文件到model的FileField
2020/03/30 Python
python dict如何定义
2020/09/02 Python
Python实例方法、类方法、静态方法区别详解
2020/09/05 Python
canvas拼图功能实现代码示例
2018/11/21 HTML / CSS
银行职业规划书范文
2013/12/28 职场文书
2014年会策划方案
2014/05/11 职场文书
自习课吵闹检讨书范文
2014/09/26 职场文书
Java获取e.printStackTrace()打印的信息方式
2021/08/07 Java/Android
PostgreSQL之连接失败的问题及解决
2023/05/08 PostgreSQL