首页 » Web开发 » 正文

[PHP]PHPUnit安装配置及样例

PHPUnit的安装及样例测试

  1. 网上很多人推荐使用pear的安装方式,尝试了很多博客中的方法,均已失败。
  2. 我成功的方法是比较原生:

下载地址:

https://phpunit.de/index.html

下载下来的是.phar的PHP扩展。根据自己的PHP版本下载对应的PHPUnit版本

根据https://phpunit.de/manual/current/en/installation.html#installation.phar.windows按部就班即可。

  1. 下载PHPUnit.phar到某个文件夹比如:C:\bin\
  2. 将这个文件夹C:\bin\到环境变量Path中
  3. 在命令行中,当前路径移动到C:\bin,并在命令行下输入
  4. echo @php “%~dpophpunit.phar”%*>phpunit.cmd

在任意位置的命令行中输入:

phpunit --version

能够看见

至此,PHPUnit安装成功。

测试样例:

SayHello.php

&lt;?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>}
?&gt;

TestSayHello.php

&lt;?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-&gt;assertTrue($hi-&gt;printHello() == 'Hello');</p>

<p>}</p>

<p>}

SayHello类会在屏幕上输出Hello并将Hello返回。

TestSayHello验证SayHello类是否会正确返回Hello字符串。

在命令行中输入,测试成功。

PHPStorm配置PHPUnit

低版本的PHPStorm不能很好的支持PHPUnit,会报:

Warning: require_once(PHPUnit/Runner/Version.php)

详见:

http://stackoverflow.com/questions/30278588/phpstorm-via-phpunit-phar-warning-require-oncephpunit-runner-version-php

本文使用的是PHPStorm10,下载地址:

https://www.jetbrains.com/phpstorm/?fromMenu

  1. 打开刚才的两个文件


2. 设置settings, File=>Settings

配置PHP版本:

配置PHPUnit

样例测试

选中TestSayHello,直接运行即可。运行结果:

本文共 7 个回复

  • 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就好了,感谢!!!

  • 匿名 2018/08/30 14:42

    😳

发表评论