PHPUnit的安装及样例测试
- 网上很多人推荐使用pear的安装方式,尝试了很多博客中的方法,均已失败。
- 我成功的方法是比较原生:
下载地址:
下载下来的是.phar的PHP扩展。根据自己的PHP版本下载对应的PHPUnit版本
根据https://phpunit.de/manual/current/en/installation.html#installation.phar.windows按部就班即可。
- 下载PHPUnit.phar到某个文件夹比如:C:\bin\
- 将这个文件夹C:\bin\到环境变量Path中
- 在命令行中,当前路径移动到C:\bin,并在命令行下输入
- echo @php “%~dpophpunit.phar”%*>phpunit.cmd
在任意位置的命令行中输入:
phpunit --version
能够看见
至此,PHPUnit安装成功。
测试样例:
SayHello.php
<?php</p> <p>class SayHello</p> <p>{</p> <p>public function printHello()</p> <p>{</p> <p>echo 'Hello';</p> <p>return 'Hello';</p> <p>}</p> <p>} ?>
TestSayHello.php
<?php</p> <p>require_once 'SayHello.php';</p> <p>class TestSayHello extends PHPUnit_Framework_TestCase {</p> <p>public function setUp(){ }</p> <p>public function tearDown(){ }</p> <p>public function testConnectionIsValid()</p> <p>{</p> <p>$hi = new SayHello();</p> <p>$this->assertTrue($hi->printHello() == 'Hello');</p> <p>}</p> <p>}
SayHello类会在屏幕上输出Hello并将Hello返回。
TestSayHello验证SayHello类是否会正确返回Hello字符串。
在命令行中输入,测试成功。
PHPStorm配置PHPUnit
低版本的PHPStorm不能很好的支持PHPUnit,会报:
Warning: require_once(PHPUnit/Runner/Version.php)
详见:
本文使用的是PHPStorm10,下载地址:
https://www.jetbrains.com/phpstorm/?fromMenu
- 打开刚才的两个文件
配置PHP版本:
配置PHPUnit
样例测试
选中TestSayHello,直接运行即可。运行结果:
nick 2015/12/22 14:00
出了问题 D:\phpStudy\php56n\php.exe C:/Users/Administrator/AppData/Local/Temp/ide-phpunit.php --no-configuration TestSayHello D:\phpStudy\WWW\d\TestSayHello.php Testing started at 13:59 ... Fatal error: Call to undefined method PHP_CodeCoverage_Filter::addFileToBlacklist() in C:\Users\Administrator\AppData\Local\Temp\ide-phpunit.php on line 321 Call Stack: 0.2070 197496 1. {main}() C:\Users\Administrator\AppData\Local\Temp\ide-phpunit.php:0 0.2920 6908648 2. IDE_Base_PHPUnit_TextUI_Command::main(???) C:\Users\Administrator\AppData\Local\Temp\ide-phpunit.php:552 0.2920 6909256 3. PHPUnit_TextUI_Command->run(array(4), bool) C:\Users\Administrator\AppData\Local\Temp\ide-phpunit.php:294 0.2940 6918896 4. IDE_PHPUnit_TextUI_Command->createRunner() phar://D:/phpStudy/php56n/phpunit.phar/phpunit/TextUI/Command.php:118 Variables in local scope (#4): $coverage_Filter = class PHP_CodeCoverage_Filter { private $whitelistedFiles = array () } $runner = *uninitialized* 进程已结束,退出代码255
nick 2015/12/22 14:27
整好了,我用phpstorm 9,phpunit 5测试,不通过,换成phpunit 4就好了,感谢!!!
hujiulin 博主 2015/12/25 14:15
@ 🙄 恭喜~
匿名 2018/08/30 14:42
😳