日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程语言 > php >内容正文

php

php测试框架,PHPUnit使用

發布時間:2025/3/19 php 40 豆豆
生活随笔 收集整理的這篇文章主要介紹了 php测试框架,PHPUnit使用 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

#### 1.安裝

PHPUnit如果使用PHAR安裝的話很簡單。Phar歸檔就像Java的Jar,可以直接被PHP解釋器執行。在*nix系統下,可以執行下面三條命令:

~~~

? wget https://phar.phpunit.de/phpunit.phar

? chmod +x phpunit.phar

? sudo mv phpunit.phar /usr/local/bin/phpunit

~~~

考慮到這次重構會引入比較多的類庫,選擇`Composer`做依賴管理。

在Ubuntu下安裝很順利,全局安裝Composer之后,在命令行執行

~~~

composer global require phpunit/phpunit

~~~

全局安裝`PHPUnit`。然后在`~/.bashrc`文件末尾加一行`PATH=$PATH:/home/feng/.composer/vendor/bin`(注意替換用戶名),來將`Composer`的`global bin`目錄加入`PATH`。

安裝過后運行`phpunit --version`看到版本信息則說明安裝成功。

另外,裝完以后我發現`Ubuntu`系統可以使用`apt-get install phpunit`來安裝,但我沒有試過。

在Windows下我用的是`XAMPP`環境,其中已經內置PHPUnit了。如果要在命令提示符下使用的話,可以修改環境變量中的PATH,在里面加上`C:\xampp\php`(或者你修改后的路徑)。再打開命令提示符,運行`phpunit --version`看一下。

#### 2.第一個測試

第一個`Tutorial`我使用的是`PHPUnit`官網上的`Getting Started`,這里寫的比它還要簡單一點。

項目的目錄結構如下:

├── phpunit.xml

├── src

│ ├── autoload.php

│ └── Money.php

└── tests

└── MoneyTest.php

第一個文件是項目代碼`src/Money.php`,內容如下:

~~~

class Money

{

private $amount;

public function __construct($amount)

{

$this->amount = $amount;

}

public function getAmount()

{

return $this->amount;

}

public function negate()

{

return new Money(-1*$this->amount);

}

}

~~~

與之對應的單元測試是tests目錄下的`MoneyTest.php`,注意單元測試文件名最好是`*Test.php`,這樣以后指定tests目錄便可以執行目錄下的所有測試。

~~~

class MoneyTest extends PHPUnit_Framework_TestCase

{

public function testCanBeNegated()

{

$a = new Money(1);

$b = $a->negate();

$this->assertEquals(-1, $b->getAmount());

}

}

~~~

代碼很簡單,`$this->assertEquals(-1, $b->getAmount());`即斷言后一個參數的執行結果與前一個參數相等,其他不解釋了。

現在,如果在MoneyTest.php里加一行`include_once('../src/Money.php');`。然后在項目根目錄下執行`phpunit tests/MoneyTest`,就可以看到執行結果了。

#### 3.自動載入

但是,逐個添加`include`的方式太不方便,最好是能自動`include`所需的文件,`PHPUnit`提供了一個參數`--bootstrap`,可以使用項目的`autoload`文件。這里我自己寫了一個最簡單的`autoload.php`,只要4行。這個文件并不是PHPUnit專用的,應該放在src目錄下。

~~~

function __autoload($class){

include $class.'.php';

}

spl_autoload_register('__autoload');

~~~

當需要Money類時,就去`include Money.php`。寫完`__autoload()`函數之后要用`spl_autoload_register()`注冊上。

現在就可以去掉`MoneyTest.php`中的`include`語句,使用`phpunit --bootstrap src/autoload.php tests/MoneyTest`來執行測試了。

雖然可以自動載入,但是要執行的命令更長了。我們還可以寫一個配置文件來為項目指定`bootstrap`,這樣就不用每次都寫在命令里了。

配置文件`phpunit.xml`放在項目根目錄下。PHPUnit默認會讀取當前目錄下的`phpunit.xml`配置文件,在里面包含了所需要用到的類(非PHPUnit的類),問題就解決了~

~~~

~~~

如果要執行MoneyTest,在項目根目錄下執行:`phpunit tests/MoneyTest`

如果要執行tests目錄下的所有測試,在項目根目錄下執行:`phpunit tests`

* * * * *

http://www.bayescafe.com/php/getting-started-with-phpunit.html

總結

以上是生活随笔為你收集整理的php测试框架,PHPUnit使用的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。

主站蜘蛛池模板: 综合久久久 | 精产国产伦理一二三区 | 久久精品免费av | 在线播放a | 亚洲欧美日韩国产一区二区三区 | 黄色动漫在线免费观看 | 亚洲av成人无码网天堂 | 伊人伊人伊人 | 亚洲日本精品视频 | 国产一级色 | 动漫美女被吸乳奶动漫视频 | 日韩极品视频在线观看 | 天堂av手机版 | 日韩a在线播放 | 51吃瓜网今日吃瓜 | 成人欧美一区二区三区黑人一 | 日韩欧美精品一区二区 | 91精品入口 | 久久大胆人体 | 在线观看91av | 日本在线视频免费 | 日本黄色a视频 | 亚洲av无码乱码在线观看富二代 | 天堂在线精品 | 中文字幕在线观看免费高清 | 国产精品久久久99 | 激情久久视频 | 操欧美美女 | 我想看毛片 | 男女视频久久 | 久久久精品日本 | 久久久久久国产精品免费播放 | 人人干人人干人人干 | 国产精品乱 | 婷婷综合五月天 | 在线黄色av| 免费a级大片| 老妇女玩小男生毛片 | 高清视频在线播放 | 免费黄色在线看 | 国产日韩av一区二区 | 欧美 丝袜 自拍 制服 另类 | 国产一区二区三区免费播放 | 艳妇臀荡乳欲伦交换h漫 | 自拍偷拍精品视频 | 高清av一区二区 | 精品国产亚洲一区二区麻豆 | 金8天国av | 在线观看视频99 | 久久不射网| 中文字幕乱妇无码av在线 | 亚洲国产精品电影 | 久久久久久久久福利 | 日本激情网址 | 日韩欧美一区视频 | 日本一本久 | 亚洲精品一区二三区 | 精品香蕉视频 | 天堂av一区二区三区 | 欧美成人看片黄a免费看 | 免费看国产视频 | 91原创视频 | 爱啪啪导航 | 日韩av在线免费播放 | 一级黄色淫片 | 欧美日本韩国一区 | 亚洲成人免费网站 | 丰满熟妇人妻av无码区 | 自拍偷拍亚洲区 | 欧美成人黄色小视频 | 男女视频免费看 | 91大神精品| 午夜999| 欧美成人一级 | 青青草综合 | 精品人妻一区二区三区久久 | 亚洲国产视频一区 | 日本激情视频在线观看 | 成人玩具h视频 | 日韩黄网站| 91成人午夜 | 高潮在线视频 | 国内精品久久久久久 | 久久国产露脸精品国产 | 中文字幕第31页 | 花房姑娘免费全集 | 黄色伊人网| 色婷视频 | www.日韩在线观看 | 成年人在线播放 | 翔田千里一区二区三区av | 中国性xxx | 波多野吉衣久久 | 后入内射欧美99二区视频 | 免费超碰在线 | 97久久国产精品 | 国产免费一区二区三区免费视频 | 撸久久| 亚洲在线视频一区 |