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文件
Jan 04 PHP
Google Voice 短信发送接口PHP开源版(2010.5更新)
Jul 22 PHP
php中通过数组进行高效随机抽取指定条记录的算法
Sep 09 PHP
php生成EAN_13标准条形码实例
Nov 13 PHP
PHP实现ftp上传文件示例
Aug 21 PHP
PHP正则替换函数preg_replace和preg_replace_callback使用总结
Sep 22 PHP
PHP之uniqid()函数用法
Nov 03 PHP
PHP文件上传处理案例分析
Oct 15 PHP
PHP实现普通hash分布式算法简单示例
Aug 06 PHP
php实现的PDO异常处理操作分析
Dec 27 PHP
Laravel框架实现简单的学生信息管理平台案例
May 07 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
上海牌131型七灯四波段四喇叭一级收音机
2021/03/02 无线电
一个自定义位数的php多用户计数器代码
2007/03/11 PHP
PHP实现小偷程序实例
2016/10/31 PHP
PHP实现ASCII码与字符串相互转换的方法
2017/04/29 PHP
PHP文件上传小程序 适合初学者学习!
2019/05/23 PHP
PHP实现一个限制实例化次数的类示例
2019/09/16 PHP
js实现文本框中输入文字页面中div层同步获取文本框内容的方法
2015/03/03 Javascript
js生成验证码并直接在前端判断
2015/05/15 Javascript
第六章之辅组类与响应式工具
2016/04/25 Javascript
客户端验证用户名和密码的方法详解
2016/06/16 Javascript
Bootstrap Modal遮罩弹出层代码分享
2016/11/21 Javascript
jQuery.cookie.js实现记录最近浏览过的商品功能示例
2017/01/23 Javascript
jquery手机触屏滑动拼音字母城市选择器的实例代码
2017/12/11 jQuery
基于vue中解决v-for使用报红并出现警告的问题
2018/03/03 Javascript
使用Vue实现图片上传的三种方式
2018/07/17 Javascript
AngularJs返回前一页面时刷新一次前面页面的方法
2018/10/09 Javascript
Vue中使用Lodop插件实现打印功能的简单方法
2019/12/19 Javascript
Python 带有参数的装饰器实例代码详解
2018/12/06 Python
使用Python实现将list中的每一项的首字母大写
2019/06/11 Python
关于Python 的简单栅格图像边界提取方法
2019/07/05 Python
django ManyToManyField多对多关系的实例详解
2019/08/09 Python
python将数组n等分的实例
2019/12/02 Python
Python编译为二进制so可执行文件实例
2019/12/23 Python
Python调用钉钉自定义机器人的实现
2020/01/03 Python
Tkinter中复选菜单是否被选中的判断与设置方式
2020/03/04 Python
Python定时从Mysql提取数据存入Redis的实现
2020/05/03 Python
matplotlib常见函数之plt.rcParams、matshow的使用(坐标轴设置)
2021/01/05 Python
Booking.com德国:预订最好的酒店和住宿
2020/02/16 全球购物
adidas马来西亚官网:adidas MY
2020/09/12 全球购物
学生打架检讨书1000字
2014/01/16 职场文书
学习演讲稿范文
2014/05/10 职场文书
计划生育证明格式及范本
2014/10/09 职场文书
2014七年级班主任工作总结
2014/12/05 职场文书
电影建党伟业观后感
2015/06/01 职场文书
英雄儿女观后感
2015/06/09 职场文书
解决python绘图使用subplots出现标题重叠的问题
2021/04/30 Python