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一些有意思的小区别
Dec 06 PHP
PHP n个不重复的随机数生成代码
Jun 23 PHP
PHP代码审核的详细介绍
Jun 13 PHP
php按百分比生成缩略图的代码分享
May 10 PHP
php获取一个变量的名字的方法
Sep 05 PHP
php实现可用于mysql,mssql,pg数据库操作类
Dec 13 PHP
又拍云异步上传实例教程详解
Apr 19 PHP
php安装ssh2扩展的方法【Linux平台】
Jul 20 PHP
Zend Framework路由器用法实例详解
Dec 11 PHP
php中的单引号、双引号和转义字符详解
Feb 16 PHP
Laravel中Facade的加载过程与原理详解
Sep 22 PHP
laravel框架模板之公共模板、继承、包含实现方法分析
Aug 30 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验证码代码
2012/02/27 PHP
在windows平台上构建自己的PHP实现方法(仅适用于php5.2)
2013/07/05 PHP
PHP 面向对象程序设计(oop)学习笔记 (五) - PHP 命名空间
2014/06/12 PHP
php中隐形字符65279(utf-8的BOM头)问题
2014/08/16 PHP
php版微信公众平台回复中文出现乱码问题的解决方法
2016/09/22 PHP
thinkPHP5框架实现基于ajax的分页功能示例
2018/06/12 PHP
定位地理位置PHP判断员工打卡签到经纬度是否在打卡之内
2019/05/23 PHP
laravel5表单唯一验证的实例代码
2019/09/30 PHP
yii 框架实现按天,月,年,自定义时间段统计数据的方法分析
2020/04/04 PHP
如何让页面加载完成后执行js
2013/06/26 Javascript
js数组转json并在后台对其解析具体实现
2013/11/20 Javascript
AngularJS入门教程之学习环境搭建
2014/12/06 Javascript
JS实现随页面滚动显示/隐藏窗口固定位置元素
2016/02/26 Javascript
分享jQuery封装好的一些常用操作
2016/07/28 Javascript
使用json来定义函数,在里面可以定义多个函数的实现方法
2016/10/28 Javascript
jquery easyui如何实现格式化列
2017/07/30 jQuery
js异步编程小技巧详解
2017/08/14 Javascript
最基础的vue.js双向绑定操作
2017/08/23 Javascript
微信小程序提交form操作示例
2018/12/30 Javascript
[03:09]DOTA2亚洲邀请赛 LGD战队出场宣传片
2015/02/07 DOTA
Python psutil模块简单使用实例
2015/04/28 Python
关于Python中空格字符串处理的技巧总结
2017/08/10 Python
python实现简单遗传算法
2018/03/19 Python
python3使用print打印带颜色的字符串代码实例
2019/08/22 Python
Python CSV文件模块的使用案例分析
2019/12/21 Python
Python turtle画图库&amp;&amp;画姓名实例
2020/01/19 Python
Python3-异步进程回调函数(callback())介绍
2020/05/02 Python
CSS3中Color的一些特性介绍
2012/05/27 HTML / CSS
HTML5 body设置全屏背景图片的示例代码
2020/12/08 HTML / CSS
个人自我鉴定写法
2013/11/30 职场文书
优秀教师事迹简介
2014/02/02 职场文书
《小猫刮胡子》教学反思
2014/02/21 职场文书
团委书记的竞聘演讲稿
2014/04/24 职场文书
2015公司年度工作总结
2015/05/14 职场文书
JS数组方法some、every和find的使用详情
2021/10/05 Javascript
SpringBoot中获取profile的方法详解
2022/04/08 Java/Android