PHP單元測(cè)試配置與使用方法詳解
本文實(shí)例講述了PHP單元測(cè)試配置與使用方法。分享給大家供大家參考,具體如下:
php與其他語言不太一樣,單元測(cè)試需要自己安裝和配置,相對(duì)麻煩一點(diǎn),不過單元測(cè)試對(duì)于提高庫的穩(wěn)定性和健壯性還是非常給力的,下面教大家怎么配置PHP單元測(cè)試
注意:php需升級(jí)到7.1版本以上
配置說明
1.全局安裝phpunit命令腳本
$ wget https://phar.phpunit.de/phpunit-7.0.phar $ chmod +x phpunit-7.0.phar $ sudo mv phpunit-7.0.phar /usr/local/bin/phpunit $ phpunit --version PHPUnit x.y.z by Sebastian Bergmann and contributors.
2.全局安裝安裝phpunit代碼
composer global require phpunit/phpunit
3.創(chuàng)建 phpunit.xml放在你的項(xiàng)目根目錄, 這個(gè)文件是 phpunit 會(huì)默認(rèn)讀取的一個(gè)配置文件:
<phpunit bootstrap="vendor/autoload.php"> <testsuites> <testsuite name="service"> <directory>tests</directory> </testsuite> </testsuites> </phpunit>
4.配置phpstorm單元phpunit.phar路徑,Languages & Frameworks > PHP > PHPUinit
如我的phpunit本地的路徑為/usr/local/bin/phpunit
5.配置單元測(cè)試類提示,Languages & Frameworks > PHP > include path
如我的phpunit包本地的路徑為/Users/chenqionghe/.composer/vendor/phpunit
6.單元測(cè)試編寫
1.Class為Demo的測(cè)試類為DemoTest
2.測(cè)試類繼承于 PHPUnit\Framework\TestCase
3.測(cè)試方法
- 必須為public權(quán)限,
- 一般以test開頭,也可以給其加注釋@test來標(biāo)識(shí)
- 在測(cè)試方法內(nèi),類似于 assertEquals() 這樣的斷言方法用來對(duì)實(shí)際值與預(yù)期值的匹配做出斷言。
<?php use Eoffcn\Utils\Arrays; use PHPUnit\Framework\TestCase; /** * Array測(cè)試用例 * Class ArraysTest */ class ArraysTest extends TestCase { public function testGet() { $array = [ 1 => [ 'b' => [ 'c' => 'cqh' ] ], 2 => [ 'b' => [ 'c' => 'cqh' ] ] ]; $this->assertEquals('cqh', Arrays::get($array, '1.b.c')); } }
執(zhí)行單元測(cè)試
1.執(zhí)行單個(gè)文件單元測(cè)試
Phpstorm方式,當(dāng)前測(cè)試類右鍵Run即可
命令行的方式,進(jìn)行項(xiàng)目目錄執(zhí)行
phpunit tests/ArraysTest.php
2.執(zhí)行全局單元測(cè)試
phpstorm方式
命令行方式,命令行下進(jìn)入當(dāng)前項(xiàng)目執(zhí)行
phpunit
更多關(guān)于PHP相關(guān)內(nèi)容感興趣的讀者可查看本站專題:《PHP錯(cuò)誤與異常處理方法總結(jié)》、《php字符串(string)用法總結(jié)》、《PHP數(shù)組(Array)操作技巧大全》、《PHP運(yùn)算與運(yùn)算符用法總結(jié)》、《PHP網(wǎng)絡(luò)編程技巧總結(jié)》、《PHP基本語法入門教程》、《php面向?qū)ο蟪绦蛟O(shè)計(jì)入門教程》及《php優(yōu)秀開發(fā)框架總結(jié)》
希望本文所述對(duì)大家PHP程序設(shè)計(jì)有所幫助。
相關(guān)文章
php 靜態(tài)頁面中顯示動(dòng)態(tài)內(nèi)容
靜態(tài)頁面中顯示動(dòng)態(tài)內(nèi)容,一些網(wǎng)站的qq在線狀態(tài),還有購物車用的是這個(gè)方法2009-08-08jQuery中的RadioButton,input,CheckBox取值賦值實(shí)現(xiàn)代碼
本篇文章主要是對(duì)jQuery中的RadioButton,input,CheckBox取值賦值實(shí)現(xiàn)代碼進(jìn)行了介紹,需要的朋友可以過來參考下,希望對(duì)大家有所幫助2014-02-02php實(shí)現(xiàn)處理輸入轉(zhuǎn)義字符的代碼
這篇文章主要介紹了php實(shí)現(xiàn)處理輸入轉(zhuǎn)義字符的代碼,需要的朋友可以參考下2015-11-11php5中date()得出的時(shí)間為什么不是當(dāng)前時(shí)間的解決方法
從php5.10開始,php中加入了時(shí)區(qū)的設(shè)置,在php中顯示的時(shí)間都是格林威治標(biāo)準(zhǔn)時(shí)間,這就造成了我們 中國的用戶會(huì)差八個(gè)小時(shí)的問題!2008-06-06phar繞過phar與HALT實(shí)現(xiàn)文件上傳功能
這篇文章主要介紹了phar繞過phar與HALT實(shí)現(xiàn)文件上傳功能,文中通過示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)吧2022-12-12