PHPUnit安装及使用示例


Posted in PHP onOctober 29, 2014

PHPUnit是zend官方大力支持的测试框架,高质量的单元测试时保证项目质量的基础,能够有效的减少BUG,改善程序。

安装PHPUnit:

在php的目录下:

pear channel-discover pear;

pear install phpunit/PHPUnit

windows下将php的环境变量加入到PATH环境变量中。
简单使用:

<?php

class StackTest extends PHPUnit_Framework_TestCase

{

 

    public function testArray()

    {

        $stack = array();

        $this->assertEquals(0, count($stack));

 

        array_push($stack, 'foo');

        $this->assertEquals('foo', $stack[count($stack)-1]);

        $this->assertEquals(1, count($stack));

 

        $this->assertEquals('foo', array_pop($stack));

        $this->assertEquals(0, count($stack));

    }

    

    /**

     * @test

     */

    public function Stringlen()

    {

        $str = 'abc';

        $this->assertEquals(3,  strlen($str));

    }

}

从上可以看到编写PHPUnit的基本规律:
(1)类Class的测试写在ClassTest中
(2)ClassTest继承PHPUnit_Framework_TestCase
(3)测试方法都是test*格式,也可以通过@test将其标注为测试方法。
(4)通过断言方法assertEquals来对实际值和预期值进行断言。

PHP 相关文章推荐
PHP4在Windows2000下的安装
Oct 09 PHP
海河写的 Discuz论坛帖子调用js的php代码
Aug 23 PHP
php 模拟POST|GET操作实现代码
Jul 20 PHP
jQuery Mobile + PHP实现文件上传
Dec 12 PHP
PHP解析RSS的方法
Mar 05 PHP
yii实现使用CUploadedFile上传文件的方法
Dec 28 PHP
Yii2.0多文件上传实例说明
Jul 24 PHP
PHP编程快速实现数组去重的方法详解
Jul 22 PHP
针对thinkPHP5框架存储过程bug重写的存储过程扩展类完整实例
Jun 16 PHP
php源码的使用方法讲解
Sep 26 PHP
php使用fputcsv实现大数据的导出操作详解
Feb 27 PHP
PHP序列化和反序列化深度剖析实例讲解
Dec 29 PHP
laravel安装和配置教程
Oct 29 #PHP
laravel 4安装及入门图文教程
Oct 29 #PHP
thinkphp浏览历史功能实现方法
Oct 29 #PHP
thinkphp获取栏目和文章当前位置的方法
Oct 29 #PHP
thinkphp实现like模糊查询实例
Oct 29 #PHP
ThinkPHP结合AjaxFileUploader实现无刷新文件上传的方法
Oct 29 #PHP
PHP多个文件上传到服务器实例
Oct 29 #PHP
You might like
德生S2000南麂列岛台湾FM收听记录
2021/03/02 无线电
PHP安装问题
2006/10/09 PHP
php预定义常量
2006/12/25 PHP
PHP投票系统防刷票判断流程分析
2012/02/04 PHP
解析php做推送服务端实现ios消息推送
2013/07/01 PHP
php字符串替换函数substr_replace()用法实例
2015/03/17 PHP
php实现微信模板消息推送
2018/03/30 PHP
详解laravel安装使用Passport(Api认证)
2018/07/27 PHP
PHP获取远程http或ftp文件的md5值的方法
2019/04/15 PHP
jQuery 改变CSS样式基础代码
2010/02/11 Javascript
jquery 按钮状态效果 正常、移上、按下
2013/08/12 Javascript
jQuery实现定时读取分析xml文件的方法
2015/07/16 Javascript
使用Bootstrap typeahead插件实现搜索框自动补全的方法
2016/07/07 Javascript
JavaScript鼠标事件,点击鼠标右键,弹出div的简单实例
2016/08/03 Javascript
JavaScript调试之console.log调试的一个小技巧分享
2017/08/07 Javascript
JS实现的判断方法、变量是否存在功能示例
2020/03/28 Javascript
jQuery插件jsonview展示json数据
2018/05/26 jQuery
微信小程序实现的一键连接wifi功能示例
2019/04/24 Javascript
使用vue实现通过变量动态拼接url
2020/07/22 Javascript
Vue ElementUI实现:限制输入框只能输入正整数的问题
2020/07/31 Javascript
Python单元测试框架unittest使用方法讲解
2015/04/13 Python
python 字典访问的三种方法小结
2019/12/05 Python
学点简单的Django之第一个Django程序的实现
2021/02/24 Python
Hotels.com英国:全球领先的酒店住宿提供商
2019/01/24 全球购物
Hashtable 添加内容的方式有哪几种,有什么区别?
2012/04/08 面试题
扩大国家免疫规划实施方案
2014/03/21 职场文书
文化建设工作方案
2014/05/12 职场文书
优秀班集体先进事迹材料
2014/05/28 职场文书
教师求职自荐书
2014/06/14 职场文书
公务员培的训心得体会
2014/09/01 职场文书
作风建设剖析材料
2014/10/06 职场文书
英文导游词
2015/02/13 职场文书
会议主持词通用版
2019/04/02 职场文书
如何写一份成功的商业计划书
2019/06/25 职场文书
SQL Server代理:理解SQL代理错误日志处理方法
2021/06/30 SQL Server
CDPR谈《巫师》新作用虚幻5原因 称不会为Epic独占
2022/04/06 其他游戏