zl程序教程

您现在的位置是:首页 >  后端

当前栏目

PHPUnitPHP测试框架安装方法

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

Windows平台LAMP环境XAMPP1.7.3下如何安装PHPUnit呢?

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

D:\xampp\php>pearchannel-discoverpear.phpunit.de
Channel"pear.phpunit.de"isalreadyinitialized

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

D:\xampp\php>pearinstallphpunit/PHPUnit
Unknownremotechannel:pear.symfony-project.com
Unknownremotechannel:pear.symfony-project.com
Unknownremotechannel:components.ez.no
Unknownremotechannel:components.ez.no
phpunit/PHPUnitrequiresPEARInstaller(version>=1.9.1),installedversionis1.9.0
phpunit/PHPUnitrequirespackage"channel://pear.symfony-project.com/YAML"(version>=1.0.2)
phpunit/PHPUnitcanoptionallyusePHPextension"dbus"
phpunit/DbUnitrequiresPEARInstaller(version>=1.9.1),installedversionis1.9.0
phpunit/DbUnitrequirespackage"channel://pear.symfony-project.com/YAML"(version>=1.0.2)
phpunit/File_IteratorrequiresPEARInstaller(version>=1.9.1),installedversionis1.9.0
phpunit/PHP_CodeCoveragerequiresPEARInstaller(version>=1.9.1),installedversionis1.9.0
phpunit/PHP_CodeCoveragerequirespackage"channel://components.ez.no/ConsoleTools"(version>=1.6)
phpunit/PHP_CodeCoveragerequirespackage"phpunit/File_Iterator"(version>=1.2.2)
phpunit/PHP_CodeCoveragecanoptionallyusePHPextension"xdebug"(version>=2.0.5)
phpunit/PHPUnit_MockObjectrequiresPEARInstaller(version>=1.9.1),installedversionis1.9.0
phpunit/PHPUnit_SeleniumrequiresPEARInstaller(version>=1.9.1),installedversionis1.9.0
phpunit/PHP_TokenStreamrequiresPEARInstaller(version>=1.9.1),installedversionis1.9.0
phpunit/PHP_TokenStreamrequirespackage"channel://components.ez.no/ConsoleTools"(version>=1.6)
Novalidpackagesfound
installfailed

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

pearlist-upgrades可以列出当前可用的更新,
D:\xampp\php>pear.batlist-upgrades
WARNING:channel"pear.php.net"hasupdateditsprotocols,use"pearchannel-updatepear.php.net"to
update

D:\xampp\php>pearchannel-updatepear.php.net
Updatingchannel"pear.php.net"
UpdateofChannel"pear.php.net"succeeded

D:\xampp\php>pear.batlist-upgrades
PEAR.PHP.NETAVAILABLEUPGRADES(STABLE):
=========================================
CHANNELPACKAGELOCALREMOTESIZE
pear.php.netArchive_Tar1.3.3(stable)1.3.7(stable)17.2kB
pear.php.netConsole_Getargs1.3.4(stable)1.3.5(stable)17.8kB
pear.php.netMail1.1.14(stable)1.2.0(stable)23kB
pear.php.netMail_Mime1.5.2(stable)1.8.1(stable)31kB
pear.php.netMail_mimeDecode1.5.1(stable)1.5.5(stable)11.4kB
pear.php.netNet_SMTP1.3.4(stable)1.4.4(stable)12.1kB
pear.php.netNet_Socket1.0.9(stable)1.0.10(stable)5.3kB
pear.php.netPEAR1.9.0(stable)1.9.1(stable)287kB
pear.php.netStructures_Graph1.0.3(stable)1.0.4(stable)30kB
Channelpear.phpunit.de:Noupgradesavailable
ZEND.GOOGLECODE.COM/SVNAVAILABLEUPGRADES(STABLE):
====================================================
CHANNELPACKAGELOCALREMOTESIZE
zend.googlecode.com/svnzend1.9.6(stable)1.11.1(stable)-

更新所有可用更新:
D:\xampp\php>pearupgrade-all
Willupgradechannel://pear.php.net/archive_tar
Willupgradechannel://pear.php.net/console_getargs
Willupgradechannel://pear.php.net/mail
Willupgradechannel://pear.php.net/mail_mime
Willupgradechannel://pear.php.net/mail_mimedecode
Willupgradechannel://pear.php.net/net_smtp
Willupgradechannel://pear.php.net/net_socket
Willupgradechannel://pear.php.net/pear
Willupgradechannel://pear.php.net/structures_graph
Willupgradechannel://zend.googlecode.com/svn/zend
Didnotdownloadoptionaldependencies:pear/Auth_SASL,use--alldepstodownloadautomatically
pear/Net_SMTPcanoptionallyusepackage"pear/Auth_SASL"
downloadingArchive_Tar-1.3.7.tgz...
StartingtodownloadArchive_Tar-1.3.7.tgz(17,610bytes)
......done:17,610bytes
downloadingConsole_Getargs-1.3.5.tgz...
StartingtodownloadConsole_Getargs-1.3.5.tgz(18,207bytes)
...done:18,207bytes
downloadingMail-1.2.0.tgz...
StartingtodownloadMail-1.2.0.tgz(23,214bytes)
...done:23,214bytes
downloadingMail_Mime-1.8.1.tgz...
StartingtodownloadMail_Mime-1.8.1.tgz(31,530bytes)
...done:31,530bytes
downloadingMail_mimeDecode-1.5.5.tgz...
StartingtodownloadMail_mimeDecode-1.5.5.tgz(11,554bytes)
...done:11,554bytes
downloadingNet_SMTP-1.4.4.tgz...
StartingtodownloadNet_SMTP-1.4.4.tgz(12,264bytes)
...done:12,264bytes
downloadingNet_Socket-1.0.10.tgz...
StartingtodownloadNet_Socket-1.0.10.tgz(5,429bytes)
...done:5,429bytes
downloadingPEAR-1.9.1.tgz...
StartingtodownloadPEAR-1.9.1.tgz(293,587bytes)
...done:293,587bytes
downloadingStructures_Graph-1.0.4.tgz...
StartingtodownloadStructures_Graph-1.0.4.tgz(30,318bytes)
...done:30,318bytes
downloadingZend-1.11.1.tgz...
StartingtodownloadZend-1.11.1.tgz(3,638,888bytes)
...done:3,638,888bytes
upgrade-allok:channel://pear.php.net/Archive_Tar-1.3.7
upgrade-allok:channel://pear.php.net/Console_Getargs-1.3.5
upgrade-allok:channel://pear.php.net/Mail-1.2.0
upgrade-allok:channel://pear.php.net/Mail_Mime-1.8.1
upgrade-allok:channel://pear.php.net/Net_Socket-1.0.10
upgrade-allok:channel://pear.php.net/Structures_Graph-1.0.4
upgrade-allok:channel://zend.googlecode.com/svn/Zend-1.11.1
upgrade-allok:channel://pear.php.net/Mail_mimeDecode-1.5.5
upgrade-allok:channel://pear.php.net/Net_SMTP-1.4.4
upgrade-allok:channel://pear.php.net/PEAR-1.9.1
PEAR:Optionalfeaturewebinstalleravailable(PEAR"sweb-basedinstaller)
PEAR:Optionalfeaturegtkinstalleravailable(PEAR"sPHP-GTK-basedinstaller)
PEAR:Optionalfeaturegtk2installeravailable(PEAR"sPHP-GTK2-basedinstaller)
PEAR:Toinstalloptionalfeaturesuse"pearinstallpear/PEAR#featurename"

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

D:\xampp\php>pearinstallphpunit/PHPUnit
Unknownremotechannel:pear.symfony-project.com
Unknownremotechannel:pear.symfony-project.com
Unknownremotechannel:components.ez.no
Unknownremotechannel:components.ez.no
phpunit/PHPUnitrequirespackage"channel://pear.symfony-project.com/YAML"(version>=1.0.2)
phpunit/PHPUnitcanoptionallyusePHPextension"dbus"
phpunit/DbUnitrequirespackage"channel://pear.symfony-project.com/YAML"(version>=1.0.2)
phpunit/PHP_CodeCoveragerequirespackage"channel://components.ez.no/ConsoleTools"(version>=1.6)
phpunit/PHP_CodeCoveragecanoptionallyusePHPextension"xdebug"(version>=2.0.5)
phpunit/PHP_TokenStreamrequirespackage"channel://components.ez.no/ConsoleTools"(version>=1.6)
downloadingFile_Iterator-1.2.3.tgz...
StartingtodownloadFile_Iterator-1.2.3.tgz(3,406bytes)
....done:3,406bytes
downloadingPHPUnit_MockObject-1.0.3.tgz...
StartingtodownloadPHPUnit_MockObject-1.0.3.tgz(17,333bytes)
...done:17,333bytes
downloadingPHPUnit_Selenium-1.0.1.tgz...
StartingtodownloadPHPUnit_Selenium-1.0.1.tgz(15,285bytes)
...done:15,285bytes
installok:channel://pear.phpunit.de/File_Iterator-1.2.3
installok:channel://pear.phpunit.de/PHPUnit_MockObject-1.0.3
installok:channel://pear.phpunit.de/PHPUnit_Selenium-1.0.1

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

D:\xampp\php>pearchannel-discoverpear.symfony-project.com
AddingChannel"pear.symfony-project.com"succeeded
Discoveryofchannel"pear.symfony-project.com"succeeded

D:\xampp\php>pearchannel-discovercomponents.ez.no
AddingChannel"components.ez.no"succeeded
Discoveryofchannel"components.ez.no"succeeded

再次尝试安装PHPUnit:

D:\xampp\php>pearinstallphpunit/PHPUnit
phpunit/PHPUnitcanoptionallyusePHPextension"dbus"
phpunit/PHP_CodeCoveragecanoptionallyusePHPextension"xdebug"(version>=2.0.5)
downloadingPHPUnit-3.5.5.tgz...
StartingtodownloadPHPUnit-3.5.5.tgz(116,148bytes)
....................done:116,148bytes
downloadingDbUnit-1.0.0.tgz...
StartingtodownloadDbUnit-1.0.0.tgz(38,183bytes)
...done:38,183bytes
downloadingPHP_CodeCoverage-1.0.2.tgz...
StartingtodownloadPHP_CodeCoverage-1.0.2.tgz(109,280bytes)
...done:109,280bytes
downloadingYAML-1.0.4.tgz...
StartingtodownloadYAML-1.0.4.tgz(9,919bytes)
...done:9,919bytes
downloadingConsoleTools-1.6.1.tgz...
StartingtodownloadConsoleTools-1.6.1.tgz(869,994bytes)
...done:869,994bytes
downloadingPHP_TokenStream-1.0.1.tgz...
StartingtodownloadPHP_TokenStream-1.0.1.tgz(7,250bytes)
...done:7,250bytes
downloadingBase-1.8.tgz...
StartingtodownloadBase-1.8.tgz(236,357bytes)
...done:236,357bytes
installok:channel://pear.symfony-project.com/YAML-1.0.4
installok:channel://components.ez.no/Base-1.8
installok:channel://pear.phpunit.de/DbUnit-1.0.0
installok:channel://components.ez.no/ConsoleTools-1.6.1
installok:channel://pear.phpunit.de/PHP_TokenStream-1.0.1
installok:channel://pear.phpunit.de/PHP_CodeCoverage-1.0.2
installok:channel://pear.phpunit.de/PHPUnit-3.5.5

PHPUnit安装成功!!!