基本說明:php
1.xdebug是程序猿在調試程序過程當中使用的bug調試暴露工具html
windows下安裝:程序員
1)下載php對應的dll文件,下載地址:https://xdebug.org/download.phpweb
2)在php.ini文件中作對應xdebug的配置,只須要在最後加上下面的代碼windows
[Xdebug] zend_extension="C:/xampp/php/ext/php_xdebug.dll"
3)由於我是集成環境xampp的一鍵安裝,不須要下載dll文件,在xampp內部已經存在,只需在php配置文件末尾添加對應配置便可,請不要在額外有extention;若是自行下載dll文件,注意下載與php版本與線程相匹配的文件;zend_extension這個名稱也會隨着php版本的不一樣而變化,若是遇到了相應問題,網絡上有不少對應說明。api
2.phpunit是測試人員單元測試工具,須要對程序員的開發代碼進行每一個類至每一個方法的「斷言」,經常程序員在開發過程當中也會編寫對應的測試用例代碼,方便後期代碼變更的測試。網絡
1)在集成環境xampp中,個人安裝方式是pear命令行安裝:app
pear install phpunit/PHPUnit
安裝完以後,你會在php的根目錄下看到pear.bat文件 svg
安裝完以後,最好設置phpunit爲環境變量,這樣就能夠全局使用了,phpunit環境變量對應的目錄就是pear.bat文件所在的目錄 工具
2)安裝完以後我建立一個測試文件,代碼以下:
<?php //This is my first test class MyFirstTest extends PHPUnit_Framework_TestCase{ public function testFirst(){ $stack = 7; $this->assertEquals(0,$stack); } }
3)建立完單元測試文件以後,讓咱們去命令行執行一下,如下是命令行顯示:
C:\Users\v_lihuan1>phpunit F:\www\testCase.php PHPUnit 3.7.21 by Sebastian Bergmann. F Time: 0 seconds, Memory: 2.00Mb There was 1 failure: 1) MyFirstTest::testFirst Failed asserting that 7 matches expected 0. F:\www\testCase.php:6 FAILURES! Tests: 1, Assertions: 1, Failures: 1.
如今phpunit已經能夠用了,至於斷言的內容和代碼的編寫,咱們只須要查看對應phpunit的方法文檔便可
3.pdepend是一個PHP中靜態代碼分析的工具。它能夠用來檢查你的PHP項目中的代碼規模和複雜程度.我也是第一次安裝,若有不妥,請你們指教
執行命令行:pear install pdepend/PHP_Depend-beta ,出現如下問題
F:\www\xdebug>pear install pdepend/PHP_Depend-beta Did not download optional dependencies: pecl/imagick, use --alldeps to download automatically pdepend/PHP_Depend can optionally use package "pecl/imagick" (version >= 2.2.0b2) downloading PHP_Depend-1.1.4.tgz ... Starting to download PHP_Depend-1.1.4.tgz (179,584 bytes) .....................done: 179,584 bytes ERROR: failed to mkdir C:\php\pear\docs\PHP_Depend F:\www\xdebug>
按照文中所說是缺乏對應依賴pecl/imagick,須要先安裝這個插件.我查到pear有能夠將對應依賴一次所有執行的命令,以下所示:
F:\www\xdebug>pear install --alldeps pdepend/PHP_Depend-beta downloading PHP_Depend-1.1.4.tgz ... Starting to download PHP_Depend-1.1.4.tgz (179,584 bytes) ......................................done: 179,584 bytes downloading imagick-3.4.3.tgz ... Starting to download imagick-3.4.3.tgz (245,410 bytes) ...done: 239,218 bytes install ok: channel://pear.pdepend.org/PHP_Depend-1.1.4 ERROR: unable to unpack C:\Users\V_LIHU~1\AppData\Local\Temp\pear\download\imagick-3.4.3.tgz F:\www\xdebug>
如上所示:pecl/imagick解壓失敗,按照理解,也就是安裝未成功😱
我又從新使用pear install pecl/imagick和pecl install imagick都未安裝成功,並爆出異常以下所示:
C:\Windows\system32>pear install pecl/imagick downloading imagick-3.4.3.tgz ... Starting to download imagick-3.4.3.tgz (245,410 bytes) ...................................................done: 245,410 bytes 19 source files, building WARNING: php_bin C:\xampp\php\php.exe appears to have a suffix .exe, but config variable php_suffix does not match ERROR: The DSP imagick.dsp does not exist. C:\Windows\system32>pecl install imagick downloading imagick-3.4.3.tgz ... Starting to download imagick-3.4.3.tgz (245,410 bytes) .....................................done: 245,410 bytes 19 source files, building WARNING: php_bin C:\xampp\php\php.exe appears to have a suffix .exe, but config variable php_suffix does not match ERROR: The DSP imagick.dsp does not exist.
蒐集了一下網上的資料,我決定不使用命令行安裝了,下載exe文件執行安裝,下載地址:
http://www.imagemagick.org/script/download.php
執行完以後,我去命令行查看pdepend 的安裝版本狀況以下:
C:\Users\v_lihuan1>pdepend --version
PHP_Depend 1.1.4 by Manuel Pichler
C:\Users\v_lihuan1>
按照上面顯示,是成功了,接下來我在去作一下pdepend的使用
pdepend使用
1)生成程序的xml格式的summary report,我須要自行解析生成的文件
C:\Windows\system32>pdepend --summary-xml=F:\tmp\summary.xml F:\www\wxapiweb PHP_Depend 1.1.4 by Manuel Pichler
Parsing source files:
..................................
2)生成兩個svg矢量圖
第一種類型:
C:\Windows\system32>pdepend --jdepend-chart=F:\tmp\testchart.svg F:\www\xdebug PHP_Depend 1.1.4 by Manuel Pichler Parsing source files: .......... 10 Executing Dependency-Analyzer: .. 45 Generating pdepend log files, this may take a moment. Time: 00:02; Memory: 4.50Mb C:\Windows\system32>
圖片上的文字表述說明:https://pdepend.org/documentation/handbook/reports/abstraction-instability-chart.html
第二種矢量圖片
C:\Windows\system32>pdepend --overview-pyramid=F:\tmp\testpyramid.svg F:\www\xdebug PHP_Depend 1.1.4 by Manuel Pichler Parsing source files: .......... 10 Executing Coupling-Analyzer: ... 66 Executing CyclomaticComplexity-Analyzer: ... 68 Executing Inheritance-Analyzer: 10 Executing NodeCount-Analyzer: .. 45 Executing NodeLoc-Analyzer: .. 55 Generating pdepend log files, this may take a moment. Time: 00:01; Memory: 6.25Mb C:\Windows\system32>
圖上參數表述說明參考:https://pdepend.org/documentation/handbook/reports/overview-pyramid.html
在使用的過程當中遇到如下問題:
前提注意:
1.phpunit在環境變量中設置,使其能夠全局使用
2.phpunit -version查看phpunit版本
3.phpunit能夠將文件夾內全部的測試用例執行,並生成報告文件,這樣更方便咱們全局代碼管理
F:\www\xdebug>phpunit --coverage-html /test1 test.php PHPUnit 3.7.21 by Sebastian Bergmann. . Time: 5 seconds, Memory: 3.25Mb OK (1 test, 1 assertion) Generating code coverage report in HTML format ... done F:\www\xdebug>
/test1是生成的報告文件的存放位置,test.php是對應要執行的測試用例,咱們也能夠將其設置爲文件夾,那麼文件夾下的全部測試用例都將被執行