phpunit與xdebug的使用

基本說明: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是對應要執行的測試用例,咱們也能夠將其設置爲文件夾,那麼文件夾下的全部測試用例都將被執行
相關文章
相關標籤/搜索