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 相关文章推荐
一个oracle+PHP的查询的例子
Oct 09 PHP
将数字格式的计算结果转为汉字格式
Oct 09 PHP
php简单封装了一些常用JS操作
Feb 25 PHP
通过5个php实例细致说明传值与传引用的区别
Aug 08 PHP
解析如何在PHP下载文件名中解决乱码的问题
Jun 20 PHP
php获取文章上一页与下一页的方法
Dec 01 PHP
PHP+MySQL插入操作实例
Jan 21 PHP
php 反斜杠处理函数addslashes()和stripslashes()实例详解
Dec 25 PHP
ThinkPHP Where 条件中常用表达式示例(详解)
Mar 31 PHP
Laravel5中Cookie的使用详解
May 03 PHP
PHP验证码无法显示的原因及解决办法
Aug 11 PHP
利用PHP如何统计Nginx日志的User Agent数据
Mar 06 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
如何在WIN2K下安装PHP4.04
2006/10/09 PHP
Linux下ZendOptimizer的安装与配置方法
2007/04/12 PHP
PHPMailer安装方法及简单实例
2008/11/25 PHP
php下载文件的代码示例
2012/06/29 PHP
php判断终端是手机还是电脑访问网站的思路及代码
2013/04/24 PHP
php number_format() 函数通过千位分组来格式化数字的实现代码
2013/08/06 PHP
php通过字符串调用函数示例
2014/03/02 PHP
php实现专业获取网站SEO信息类实例
2015/04/02 PHP
Centos7 Yum安装PHP7.2流程教程详解
2019/07/02 PHP
用js实现的检测浏览器和系统的函数
2009/04/09 Javascript
javascript与webservice的通信实现代码
2010/12/25 Javascript
jQuery bind事件使用详解
2011/05/05 Javascript
浅析onsubmit校验表单时利用ajax的return false无效问题
2013/07/10 Javascript
js 距离某一时间点时间是多少实现代码
2013/10/14 Javascript
使用jquery写个更改表格行顺序的小功能
2014/04/29 Javascript
jQuery简单图表peity.js使用示例
2014/05/02 Javascript
Javascript的表单验证-初识正则表达式
2016/03/18 Javascript
jQuery 获取页面li数组并删除不在数组中的key
2016/08/02 Javascript
详解vue.js全局组件和局部组件
2017/04/10 Javascript
老生常谈js数据类型
2017/08/03 Javascript
JavaScript编写棋盘覆盖代码详解
2017/08/28 Javascript
Angularjs使用过滤器完成排序功能
2017/09/20 Javascript
vue前后分离调起微信支付
2019/07/29 Javascript
vue中npm包全局安装和局部安装过程
2019/09/03 Javascript
JavaScript交换变量常用4种方法解析
2020/09/02 Javascript
elementui实现预览图片组件二次封装
2020/12/29 Javascript
[02:49]DOTA2完美大师赛首日观众采访
2017/11/23 DOTA
python生成指定尺寸缩略图的示例
2014/05/07 Python
浅析Git版本控制器使用
2017/12/10 Python
Python3+Selenium+Chrome实现自动填写WPS表单
2020/02/12 Python
Python实现文件压缩和解压的示例代码
2020/08/12 Python
英国时尚优质的女装:Hope Fashion
2018/08/14 全球购物
Pretty Green美国:英式摇滚服饰风格代表品牌之一
2019/01/23 全球购物
2014年情人节活动方案
2014/02/16 职场文书
企业员工集体活动方案
2014/08/17 职场文书
Python通过loop.run_in_executor执行同步代码 同步变为异步
2022/04/11 Python