服务器之家:专注于服务器技术及软件下载分享
分类导航

PHP教程|ASP.NET教程|JAVA教程|ASP教程|

服务器之家 - 编程语言 - PHP教程 - PHPUnit PHP测试框架安装方法

PHPUnit PHP测试框架安装方法

2019-11-19 14:03PHP教程网 PHP教程

PHPUnit是一个轻量级的PHP测试框架。它是在PHP5下面对JUnit3系列版本的完整移植,是xUnit测试框架家族的一员(它们都基于模式先锋Kent Beck的设计)。

单元测试是几个现代敏捷开发方法的基础,使得PHPUnit成为许多大型PHP项目的关键工具。这个工具也可以被Xdebug扩展用来生成代码覆盖率报告 ,并且可以与phing集成来自动测试,最后它还可以和Selenium整合来完成大型的自动化集成测试。 

Windows平台LAMP环境XAMPP 1.7.3下如何安装PHPUnit呢? 

首先,以管理员身份运行cmd,使用pear添加phpunit频道: 

D:\xampp\php>pear channel-discover pear.phpunit.de 
Channel "pear.phpunit.de" is already initialized 

频道添加好,尝试安装PHPUnit: 

D:\xampp\php>pear install phpunit/PHPUnit 
Unknown remote channel: pear.symfony-project.com 
Unknown remote channel: pear.symfony-project.com 
Unknown remote channel: components.ez.no 
Unknown remote channel: components.ez.no 
phpunit/PHPUnit requires PEAR Installer (version >= 1.9.1), installed version is 1.9.0 
phpunit/PHPUnit requires package "channel://pear.symfony-project.com/YAML" (version >= 1.0.2) 
phpunit/PHPUnit can optionally use PHP extension "dbus" 
phpunit/DbUnit requires PEAR Installer (version >= 1.9.1), installed version is1.9.0 
phpunit/DbUnit requires package "channel://pear.symfony-project.com/YAML" (version >= 1.0.2) 
phpunit/File_Iterator requires PEAR Installer (version >= 1.9.1), installed version is 1.9.0 
phpunit/PHP_CodeCoverage requires PEAR Installer (version >= 1.9.1), installed version is 1.9.0 
phpunit/PHP_CodeCoverage requires package "channel://components.ez.no/ConsoleTools" (version >= 1.6) 
phpunit/PHP_CodeCoverage requires package "phpunit/File_Iterator" (version >= 1.2.2) 
phpunit/PHP_CodeCoverage can optionally use PHP extension "xdebug" (version >= 2.0.5) 
phpunit/PHPUnit_MockObject requires PEAR Installer (version >= 1.9.1), installed version is 1.9.0 
phpunit/PHPUnit_Selenium requires PEAR Installer (version >= 1.9.1), installed version is 1.9.0 
phpunit/PHP_TokenStream requires PEAR Installer (version >= 1.9.1), installed version is 1.9.0 
phpunit/PHP_TokenStream requires package "channel://components.ez.no/ConsoleTools" (version >= 1.6) 
No valid packages found 
install failed 

从提示看出,需要安装PEAR 1.9.1,而当前PEAR是1.9.0,那就要先升级PEAR版本。 

pear list-upgrades可以列出当前可用的更新, 
D:\xampp\php>pear.bat list-upgrades 
WARNING: channel "pear.php.net" has updated its protocols, use "pear channel-update pear.php.net" to 
update 

D:\xampp\php>pear channel-update pear.php.net 
Updating channel "pear.php.net" 
Update of Channel "pear.php.net" succeeded 

D:\xampp\php>pear.bat list-upgrades 
PEAR.PHP.NET AVAILABLE UPGRADES (STABLE): 
========================================= 
CHANNEL PACKAGE LOCAL REMOTE SIZE 
pear.php.net Archive_Tar 1.3.3 (stable) 1.3.7 (stable) 17.2kB 
pear.php.net Console_Getargs 1.3.4 (stable) 1.3.5 (stable) 17.8kB 
pear.php.net Mail 1.1.14 (stable) 1.2.0 (stable) 23kB 
pear.php.net Mail_Mime 1.5.2 (stable) 1.8.1 (stable) 31kB 
pear.php.net Mail_mimeDecode 1.5.1 (stable) 1.5.5 (stable) 11.4kB 
pear.php.net Net_SMTP 1.3.4 (stable) 1.4.4 (stable) 12.1kB 
pear.php.net Net_Socket 1.0.9 (stable) 1.0.10 (stable) 5.3kB 
pear.php.net PEAR 1.9.0 (stable) 1.9.1 (stable) 287kB 
pear.php.net Structures_Graph 1.0.3 (stable) 1.0.4 (stable) 30kB 
Channel pear.phpunit.de: No upgrades available 
ZEND.GOOGLECODE.COM/SVN AVAILABLE UPGRADES (STABLE): 
==================================================== 
CHANNEL PACKAGE LOCAL REMOTE SIZE 
zend.googlecode.com/svn zend 1.9.6 (stable) 1.11.1 (stable) - 

更新所有可用更新: 
D:\xampp\php>pear upgrade-all 
Will upgrade channel://pear.php.net/archive_tar 
Will upgrade channel://pear.php.net/console_getargs 
Will upgrade channel://pear.php.net/mail 
Will upgrade channel://pear.php.net/mail_mime 
Will upgrade channel://pear.php.net/mail_mimedecode 
Will upgrade channel://pear.php.net/net_smtp 
Will upgrade channel://pear.php.net/net_socket 
Will upgrade channel://pear.php.net/pear 
Will upgrade channel://pear.php.net/structures_graph 
Will upgrade channel://zend.googlecode.com/svn/zend 
Did not download optional dependencies: pear/Auth_SASL, use --alldeps to download automatically 
pear/Net_SMTP can optionally use package "pear/Auth_SASL" 
downloading Archive_Tar-1.3.7.tgz ... 
Starting to download Archive_Tar-1.3.7.tgz (17,610 bytes) 
......done: 17,610 bytes 
downloading Console_Getargs-1.3.5.tgz ... 
Starting to download Console_Getargs-1.3.5.tgz (18,207 bytes) 
...done: 18,207 bytes 
downloading Mail-1.2.0.tgz ... 
Starting to download Mail-1.2.0.tgz (23,214 bytes) 
...done: 23,214 bytes 
downloading Mail_Mime-1.8.1.tgz ... 
Starting to download Mail_Mime-1.8.1.tgz (31,530 bytes) 
...done: 31,530 bytes 
downloading Mail_mimeDecode-1.5.5.tgz ... 
Starting to download Mail_mimeDecode-1.5.5.tgz (11,554 bytes) 
...done: 11,554 bytes 
downloading Net_SMTP-1.4.4.tgz ... 
Starting to download Net_SMTP-1.4.4.tgz (12,264 bytes) 
...done: 12,264 bytes 
downloading Net_Socket-1.0.10.tgz ... 
Starting to download Net_Socket-1.0.10.tgz (5,429 bytes) 
...done: 5,429 bytes 
downloading PEAR-1.9.1.tgz ... 
Starting to download PEAR-1.9.1.tgz (293,587 bytes) 
...done: 293,587 bytes 
downloading Structures_Graph-1.0.4.tgz ... 
Starting to download Structures_Graph-1.0.4.tgz (30,318 bytes) 
...done: 30,318 bytes 
downloading Zend-1.11.1.tgz ... 
Starting to download Zend-1.11.1.tgz (3,638,888 bytes) 
...done: 3,638,888 bytes 
upgrade-all ok: channel://pear.php.net/Archive_Tar-1.3.7 
upgrade-all ok: channel://pear.php.net/Console_Getargs-1.3.5 
upgrade-all ok: channel://pear.php.net/Mail-1.2.0 
upgrade-all ok: channel://pear.php.net/Mail_Mime-1.8.1 
upgrade-all ok: channel://pear.php.net/Net_Socket-1.0.10 
upgrade-all ok: channel://pear.php.net/Structures_Graph-1.0.4 
upgrade-all ok: channel://zend.googlecode.com/svn/Zend-1.11.1 
upgrade-all ok: channel://pear.php.net/Mail_mimeDecode-1.5.5 
upgrade-all ok: channel://pear.php.net/Net_SMTP-1.4.4 
upgrade-all ok: channel://pear.php.net/PEAR-1.9.1 
PEAR: Optional feature webinstaller available (PEAR's web-based installer) 
PEAR: Optional feature gtkinstaller available (PEAR's PHP-GTK-based installer) 
PEAR: Optional feature gtk2installer available (PEAR's PHP-GTK2-based installer) 
PEAR: To install optional features use "pear install pear/PEAR#featurename" 

更新成功后,PEAR已经是1.9.1版了,现在可以放心地安装PHPUnit了: 

D:\xampp\php>pear install phpunit/PHPUnit 
Unknown remote channel: pear.symfony-project.com 
Unknown remote channel: pear.symfony-project.com 
Unknown remote channel: components.ez.no 
Unknown remote channel: components.ez.no 
phpunit/PHPUnit requires package "channel://pear.symfony-project.com/YAML" (version >= 1.0.2) 
phpunit/PHPUnit can optionally use PHP extension "dbus" 
phpunit/DbUnit requires package "channel://pear.symfony-project.com/YAML" (version >= 1.0.2) 
phpunit/PHP_CodeCoverage requires package "channel://components.ez.no/ConsoleTools" (version >= 1.6) 
phpunit/PHP_CodeCoverage can optionally use PHP extension "xdebug" (version >= 2.0.5) 
phpunit/PHP_TokenStream requires package "channel://components.ez.no/ConsoleTools" (version >= 1.6) 
downloading File_Iterator-1.2.3.tgz ... 
Starting to download File_Iterator-1.2.3.tgz (3,406 bytes) 
....done: 3,406 bytes 
downloading PHPUnit_MockObject-1.0.3.tgz ... 
Starting to download PHPUnit_MockObject-1.0.3.tgz (17,333 bytes) 
...done: 17,333 bytes 
downloading PHPUnit_Selenium-1.0.1.tgz ... 
Starting to download PHPUnit_Selenium-1.0.1.tgz (15,285 bytes) 
...done: 15,285 bytes 
install ok: channel://pear.phpunit.de/File_Iterator-1.2.3 
install ok: channel://pear.phpunit.de/PHPUnit_MockObject-1.0.3 
install ok: channel://pear.phpunit.de/PHPUnit_Selenium-1.0.1 

上面信息来看,还是没有安装成功,pear.symfony-project.com和components.ez.no两个频道也要添加一下: 

D:\xampp\php>pear channel-discover pear.symfony-project.com 
Adding Channel "pear.symfony-project.com" succeeded 
Discovery of channel "pear.symfony-project.com" succeeded 

D:\xampp\php>pear channel-discover components.ez.no 
Adding Channel "components.ez.no" succeeded 
Discovery of channel "components.ez.no" succeeded 

再次尝试安装PHPUnit: 

D:\xampp\php>pear install phpunit/PHPUnit 
phpunit/PHPUnit can optionally use PHP extension "dbus" 
phpunit/PHP_CodeCoverage can optionally use PHP extension "xdebug" (version >= 2.0.5) 
downloading PHPUnit-3.5.5.tgz ... 
Starting to download PHPUnit-3.5.5.tgz (116,148 bytes) 
....................done: 116,148 bytes 
downloading DbUnit-1.0.0.tgz ... 
Starting to download DbUnit-1.0.0.tgz (38,183 bytes) 
...done: 38,183 bytes 
downloading PHP_CodeCoverage-1.0.2.tgz ... 
Starting to download PHP_CodeCoverage-1.0.2.tgz (109,280 bytes) 
...done: 109,280 bytes 
downloading YAML-1.0.4.tgz ... 
Starting to download YAML-1.0.4.tgz (9,919 bytes) 
...done: 9,919 bytes 
downloading ConsoleTools-1.6.1.tgz ... 
Starting to download ConsoleTools-1.6.1.tgz (869,994 bytes) 
...done: 869,994 bytes 
downloading PHP_TokenStream-1.0.1.tgz ... 
Starting to download PHP_TokenStream-1.0.1.tgz (7,250 bytes) 
...done: 7,250 bytes 
downloading Base-1.8.tgz ... 
Starting to download Base-1.8.tgz (236,357 bytes) 
...done: 236,357 bytes 
install ok: channel://pear.symfony-project.com/YAML-1.0.4 
install ok: channel://components.ez.no/Base-1.8 
install ok: channel://pear.phpunit.de/DbUnit-1.0.0 
install ok: channel://components.ez.no/ConsoleTools-1.6.1 
install ok: channel://pear.phpunit.de/PHP_TokenStream-1.0.1 
install ok: channel://pear.phpunit.de/PHP_CodeCoverage-1.0.2 
install ok: channel://pear.phpunit.de/PHPUnit-3.5.5 

PHPUnit安装成功!!!

延伸 · 阅读

精彩推荐
  • PHP教程thinkPHP框架实现的简单计算器示例

    thinkPHP框架实现的简单计算器示例

    这篇文章主要介绍了thinkPHP框架实现的简单计算器,结合实例形式分析了基于thinkPHP框架的用户登陆、数值计算、数据库读写、历史记录保存等功能相关实现...

    luckymaoyy1472019-07-22
  • PHP教程php删除一个路径下的所有文件夹和文件的方法

    php删除一个路径下的所有文件夹和文件的方法

    php遍历一个文件夹内的所有文件和文件夹,并删除所有文件夹和子文件夹下的所有文件的代码,通过递归方式实现达到清空一个目录的效果。本文给大家分...

    切切歆语1372019-10-22
  • PHP教程PHP读取XML值的代码(推荐)

    PHP读取XML值的代码(推荐)

    PHP读取XML值的代码,网上很多是pdf版的,变向的赚积分,脚本特为大家搜索整理。希望大家以后多多的支持我们。 ...

    php教程网4392019-11-14
  • PHP教程php利用header函数下载各种文件

    php利用header函数下载各种文件

    这篇文章主要为大家详细介绍了php利用header函数下载各种文件的代码,感兴趣的小伙伴们可以参考一下...

    ※WYF※4582019-06-20
  • PHP教程兼容性比较好的PHP生成缩略图的代码

    兼容性比较好的PHP生成缩略图的代码

    写通用性程序考虑兼容性是很头痛的事情,关于用PHP生成缩略图的代码很多,不过能完全兼容gd1.6和gd2.x,并能保证缩图清晰性的代码几乎没有,我把我以前...

    php教程网3902019-11-15
  • PHP教程PHP的mysqli_ssl_set()函数讲解

    PHP的mysqli_ssl_set()函数讲解

    今天小编就为大家分享一篇关于PHP的mysqli_ssl_set()函数讲解,小编觉得内容挺不错的,现在分享给大家,具有很好的参考价值,需要的朋友一起跟随小编来看...

    php参考手册4372019-06-28
  • PHP教程Laravel框架实现model层的增删改查(CURD)操作示例

    Laravel框架实现model层的增删改查(CURD)操作示例

    这篇文章主要介绍了Laravel框架实现model层的增删改查(CURD)操作,结合实例形式分析了Laravel框架模型model层进行数据库的增删改查操作具体实现技巧,需要的朋...

    奋斗到深夜的小程序员5062019-10-07
  • PHP教程php中的explode()函数实例介绍

    php中的explode()函数实例介绍

    在本篇文章里小编给大家分享了关于php中的explode()函数实例知识点内容,有兴趣的朋友们学习下。...

    laozhang4792019-06-30