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代码
Jul 17 PHP
PHP 输出URL的快捷方式示例代码
Sep 22 PHP
php解析url的三个示例
Jan 20 PHP
ThinkPHP使用心得分享-分页类Page的用法
May 15 PHP
PHP中配置IIS7实现基本身份验证的方法
Sep 24 PHP
php实现的操作excel类详解
Jan 15 PHP
[原创]CI(CodeIgniter)简单统计访问人数实现方法
Jan 19 PHP
PHP查看SSL证书信息的方法
Sep 22 PHP
PHP基于GD库实现的生成图片缩略图函数示例
Jul 05 PHP
PHP文件后缀不强制为.php方法
Mar 31 PHP
阿里对象存储OSS在laravel框架中的使用方法
Oct 13 PHP
php实现根据身份证获取精准年龄
Feb 26 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
phpmyadmin提示The mbstring extension is missing的解决方法
2014/12/17 PHP
WAF的正确bypass
2017/01/05 PHP
TP5框架使用QueryList采集框架爬小说操作示例
2020/03/26 PHP
JTrackBar水平拖动效果
2007/07/15 Javascript
打开新窗口关闭当前页面不弹出关闭提示js代码
2013/03/18 Javascript
JS日期和时间选择控件升级版(自写)
2013/08/02 Javascript
angularJS提交表单(form)
2015/02/09 Javascript
JavaScript阻止浏览器返回按钮的方法
2015/03/18 Javascript
jQuery基础知识点总结(必看)
2016/05/31 Javascript
js 能实现监听F5页面刷新子iframe 而父页面不刷新的方法
2016/11/09 Javascript
ES6中Math对象的部分扩展
2017/02/20 Javascript
jQuery Pagination分页插件_动力节点Java学院整理
2017/07/17 jQuery
Vue实现typeahead组件功能(非常靠谱)
2017/08/26 Javascript
Vue2.0用户权限控制解决方案的示例
2018/02/10 Javascript
微信小程序踩坑记录之解决tabBar.list[3].selectedIconPath大小超过40kb
2018/07/04 Javascript
vue 项目中使用Loading组件的示例代码
2018/08/31 Javascript
浅谈Javascript常用正则表达式应用
2019/03/08 Javascript
vue如何自动化打包测试环境和正式环境的dist/test文件
2019/06/06 Javascript
一看就会的vuex实现登录验证(附案例)
2020/01/09 Javascript
python处理中文编码和判断编码示例
2014/02/26 Python
Python实现删除文件但保留指定文件
2015/06/21 Python
python中string模块各属性以及函数的用法介绍
2016/05/30 Python
Python中operator模块的操作符使用示例总结
2016/06/28 Python
python实现word 2007文档转换为pdf文件
2018/03/15 Python
python3人脸识别的两种方法
2019/04/25 Python
使用 Python 快速实现 HTTP 和 FTP 服务器的方法
2019/07/22 Python
python 通过手机号识别出对应的微信性别(实例代码)
2019/12/22 Python
tensorflow实现残差网络方式(mnist数据集)
2020/05/26 Python
医生实习工作总结的自我评价
2013/09/27 职场文书
生物科学系大学生的自我评价
2013/12/20 职场文书
试用期员工考核制度
2014/01/22 职场文书
大学生自荐信怎么写
2015/03/26 职场文书
vue首次渲染全过程
2021/04/21 Vue.js
如何用RabbitMQ和Swoole实现一个异步任务系统
2021/05/29 PHP
Python基础之变量的相关知识总结
2021/06/23 Python
Vscode中SSH插件如何远程连接Linux
2022/05/02 Servers