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写的serv-u的web申请账号的程序
Oct 09 PHP
PHP一些有意思的小区别
Dec 06 PHP
php 操作excel文件的方法小结
Dec 31 PHP
ueditor 1.2.6 使用方法说明
Jul 24 PHP
php目录遍历函数opendir用法实例
Nov 20 PHP
php实现parent调用父类的构造方法与被覆写的方法
Feb 11 PHP
Yii框架表单模型和验证用法
May 20 PHP
php 解析xml 的四种方法详细介绍
Oct 26 PHP
php事务回滚简单实现方法示例
Mar 28 PHP
php封装一个异常的处理类
Jun 08 PHP
Laravel 默认邮箱登录改成用户名登录的实现方法
Aug 12 PHP
thinkphp5 框架结合plupload实现图片批量上传功能示例
Apr 04 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开发大型项目的一点经验
2006/10/09 PHP
PHP中的生成XML文件的4种方法分享
2012/10/06 PHP
php存储过程调用实例代码
2013/02/03 PHP
php去除html标记的原生函数详解
2015/01/27 PHP
Codeigniter检测表单post数据的方法
2015/03/21 PHP
Zend Framework教程之配置文件application.ini解析
2016/03/10 PHP
php 数组元素快速去重
2017/05/05 PHP
Thinkphp框架使用list_to_tree 实现无限级分类列出所有节点示例
2020/04/04 PHP
不使用中间变量,交换int型的 a, b两个变量的值。
2010/10/29 Javascript
关于js获取radio和select的属性并控制的代码
2011/05/12 Javascript
javascript event在FF和IE的兼容传参心得(绝对好用)
2014/07/10 Javascript
Javascript设计模式之观察者模式的多个实现版本实例
2015/03/03 Javascript
JavaScript中的Math.atan2()方法使用详解
2015/06/15 Javascript
解决前端跨域问题方案汇总
2016/11/20 Javascript
JavaScript数组迭代方法
2017/03/03 Javascript
elementUi vue el-radio 监听选中变化的实例代码
2019/06/28 Javascript
Vue使用vue-draggable 插件在不同列表之间拖拽功能
2020/03/12 Javascript
[46:14]完美世界DOTA2联赛PWL S3 Magma vs INK ICE 第一场 12.11
2020/12/16 DOTA
python条件和循环的使用方法
2013/11/01 Python
Python计算程序运行时间的方法
2014/12/13 Python
python实现FTP服务器服务的方法
2017/04/11 Python
python访问抓取网页常用命令总结
2017/04/11 Python
对python中大文件的导入与导出方法详解
2018/12/28 Python
Python如何基于selenium实现自动登录博客园
2019/12/16 Python
Python爬虫破解登陆哔哩哔哩的方法
2020/11/17 Python
Window10上Tensorflow的安装(CPU和GPU版本)
2020/12/15 Python
python 进制转换 int、bin、oct、hex的原理
2021/01/13 Python
CSS3 Media Queries(响应式布局可以让你定制不同的分辨率和设备)
2013/06/06 HTML / CSS
Stio官网:男女、儿童户外服装
2019/12/13 全球购物
Booking.com德国:预订最好的酒店和住宿
2020/02/16 全球购物
不开辟用于交换数据的临时空间,如何完成字符串的逆序
2012/12/02 面试题
多媒体教室标语
2014/06/26 职场文书
学院党的群众路线教育实践活动整改方案
2014/10/04 职场文书
学术会议领导致辞
2015/07/29 职场文书
学校远程教育工作总结
2015/08/11 职场文书
2016教师暑期培训学习心得体会
2016/01/09 职场文书