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 相关文章推荐
PHP学习之PHP运算符
Oct 09 PHP
php5.2时间相差8小时
Jan 15 PHP
适用于php-5.2 的 php.ini 中文版[金步国翻译]
Apr 17 PHP
php 模拟get_headers函数的代码示例
Apr 27 PHP
ThinkPHP使用心得分享-分页类Page的用法
May 15 PHP
php实现SAE上使用storage上传与下载文件的方法
Jun 29 PHP
PHP可变变量学习小结
Nov 29 PHP
PHP的Yii框架的常用日志操作总结
Dec 08 PHP
ThinkPHP中session函数详解
Sep 14 PHP
php实现购物车功能(以大苹果购物网为例)
Mar 09 PHP
Laravel框架实现的rbac权限管理操作示例
Jan 16 PHP
PHP实现简单的协程任务调度demo示例
Feb 01 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
php循环输出数据库内容的代码
2008/05/24 PHP
PHP用strstr()函数阻止垃圾评论(通过判断a标记)
2013/09/28 PHP
php使用mysqli向数据库添加数据的方法
2015/03/20 PHP
php中switch语句用法详解
2015/08/17 PHP
PHP表单提交后引号前自动加反斜杠的原因及三种办法关闭php魔术引号
2015/09/30 PHP
PHP简单实现解析xml为数组的方法
2018/05/02 PHP
新闻内页-JS分页
2006/06/07 Javascript
cloudgamer出品ImageZoom 图片放大效果
2010/04/01 Javascript
Javascript 运动中Offset的bug解决方案
2014/12/24 Javascript
jquery实现动静态条形统计图
2015/08/17 Javascript
基于jQuery实现的美观星级评论打分组件代码
2015/10/30 Javascript
js中flexible.js实现淘宝弹性布局方案
2020/06/23 Javascript
基于javascript实现根据身份证号码识别性别和年龄
2016/01/22 Javascript
BootStrap学习系列之Bootstrap Typeahead 组件实现百度下拉效果(续)
2016/07/07 Javascript
thinkjs之页面跳转同步异步操作
2017/02/05 Javascript
vue服务端渲染的实例代码
2017/08/28 Javascript
vue实现某元素吸顶或固定位置显示(监听滚动事件)
2017/12/13 Javascript
vue中keep-alive的用法及问题描述
2018/05/15 Javascript
解决微信小程序中转换时间格式IOS不兼容的问题
2019/02/15 Javascript
node.js使用express框架进行文件上传详解
2019/03/03 Javascript
在Vue项目中使用jsencrypt.js对数据进行加密传输的方法
2019/04/17 Javascript
微信小程序实现手指拖动选项排序
2020/04/22 Javascript
[01:19:33]DOTA2-DPC中国联赛 正赛 iG vs VG BO3 第一场 2月2日
2021/03/11 DOTA
python单链表实现代码实例
2013/11/21 Python
Python中文分词工具之结巴分词用法实例总结【经典案例】
2017/04/15 Python
Django rest framework基本介绍与代码示例
2018/01/26 Python
python实现名片管理系统
2018/11/29 Python
详解python中的index函数用法
2019/08/06 Python
Python绘制动态水球图过程详解
2020/06/03 Python
.net软件工程师应聘上机试题
2015/03/10 面试题
计算机通信专业推荐信
2014/02/22 职场文书
交通事故协议书范文
2014/04/16 职场文书
商务邀请函
2015/01/30 职场文书
数据库之SQL技巧整理案例
2021/07/07 SQL Server
PHP使用QR Code生成二维码实例
2021/07/07 PHP
浅谈MySQL表空间回收的正确姿势
2021/10/05 MySQL