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_Flame(Version:Progress)的原代码
Oct 09 PHP
php下实现一个阿拉伯数字转中文数字的函数
Jul 10 PHP
PHP生成图片验证码、点击切换实例
Jun 25 PHP
PHP中使用GD库绘制折线图 折线统计图的绘制方法
Nov 09 PHP
thinkPHP简单遍历数组方法分析
May 16 PHP
PHP加密解密类实例代码
Jul 20 PHP
PHP表单验证内容是否为空的实现代码
Nov 14 PHP
php+ajax实现异步上传文件或图片功能
Jul 18 PHP
php封装单文件上传到数据库(路径)
Oct 15 PHP
Laravel 批量更新多条数据的示例
Nov 27 PHP
php 将json格式数据转换成数组的方法
Aug 21 PHP
PHP数组遍历的几种常见方式总结
Feb 15 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
YII视图整合kindeditor扩展的方法
2016/07/13 PHP
PHPExcel 修改已存在Excel的方法
2018/05/03 PHP
Laravel框架FormRequest中重写错误处理的方法
2019/02/18 PHP
php设计模式之工厂模式用法经典实例分析
2019/09/20 PHP
Laravel5.1 框架Request请求操作常见用法实例分析
2020/01/04 PHP
EASYUI TREEGRID异步加载数据实现方法
2012/08/22 Javascript
网页防止tab键的使用快速解决方法
2013/11/07 Javascript
JS如何将数字类型转化为没3个一个逗号的金钱格式
2014/01/27 Javascript
通过Jquery的Ajax方法读取将table转换为Json
2014/05/31 Javascript
javascript移动设备Web开发中对touch事件的封装实例
2014/06/05 Javascript
使用JS画图之点、线、面
2015/01/12 Javascript
分享jQuery封装好的一些常用操作
2016/07/28 Javascript
D3.js实现文本的换行详解
2016/10/14 Javascript
JS 调用微信扫一扫功能
2016/12/22 Javascript
JavaScript闭包_动力节点Java学院整理
2017/06/27 Javascript
javascript回调函数详解
2018/02/06 Javascript
使用D3.js构建实时图形的示例代码
2018/08/28 Javascript
小程序组件之仿微信通讯录的实现代码
2018/09/12 Javascript
vue使用v-if v-show页面闪烁,div闪现的解决方法
2018/10/12 Javascript
详解javascript设计模式三:代理模式
2019/03/25 Javascript
仿ElementUI实现一个Form表单的实现代码
2019/04/23 Javascript
在Vue中使用Echarts实例图的方法实例
2020/10/10 Javascript
vue+vant 上传图片需要注意的地方
2021/01/03 Vue.js
python模拟新浪微博登陆功能(新浪微博爬虫)
2013/12/24 Python
python2与python3的print及字符串格式化小结
2018/11/30 Python
Django 查询数据库并返回页面的例子
2019/08/12 Python
Python Socketserver实现FTP文件上传下载代码实例
2020/03/27 Python
pycharm 实现本地写代码,服务器运行的操作
2020/06/08 Python
老生常谈CSS中的长度单位
2016/06/27 HTML / CSS
印度尼西亚综合购物网站:Lazada印尼
2016/09/07 全球购物
绿色学校实施方案
2014/03/31 职场文书
带刀到教室的检讨书
2014/10/04 职场文书
大学生实训报告总结
2014/11/05 职场文书
募捐感谢信
2015/01/22 职场文书
团委工作总结2015
2015/04/02 职场文书
Django cookie和session的应用场景及如何使用
2021/04/29 Python