PHP單元測試配置與使用方法詳解
本文實例講述了PHP單元測試配置與使用方法。分享給大家供大家參考,具體如下:
php與其他語言不太一樣,單元測試需要自己安裝和配置,相對麻煩一點,不過單元測試對于提高庫的穩(wěn)定性和健壯性還是非常給力的,下面教大家怎么配置PHP單元測試
注意:php需升級到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放在你的項目根目錄, 這個文件是 phpunit 會默認讀取的一個配置文件:
<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.配置單元測試類提示,Languages & Frameworks > PHP > include path
如我的phpunit包本地的路徑為/Users/chenqionghe/.composer/vendor/phpunit

6.單元測試編寫
1.Class為Demo的測試類為DemoTest
2.測試類繼承于 PHPUnit\Framework\TestCase
3.測試方法
- 必須為public權(quán)限,
- 一般以test開頭,也可以給其加注釋@test來標識
- 在測試方法內(nèi),類似于 assertEquals() 這樣的斷言方法用來對實際值與預期值的匹配做出斷言。
<?php
use Eoffcn\Utils\Arrays;
use PHPUnit\Framework\TestCase;
/**
* Array測試用例
* 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í)行單元測試
1.執(zhí)行單個文件單元測試
Phpstorm方式,當前測試類右鍵Run即可

命令行的方式,進行項目目錄執(zhí)行
phpunit tests/ArraysTest.php

2.執(zhí)行全局單元測試
phpstorm方式


命令行方式,命令行下進入當前項目執(zhí)行
phpunit

更多關(guān)于PHP相關(guān)內(nèi)容感興趣的讀者可查看本站專題:《PHP錯誤與異常處理方法總結(jié)》、《php字符串(string)用法總結(jié)》、《PHP數(shù)組(Array)操作技巧大全》、《PHP運算與運算符用法總結(jié)》、《PHP網(wǎng)絡編程技巧總結(jié)》、《PHP基本語法入門教程》、《php面向?qū)ο蟪绦蛟O計入門教程》及《php優(yōu)秀開發(fā)框架總結(jié)》
希望本文所述對大家PHP程序設計有所幫助。
相關(guān)文章
php實現(xiàn)將數(shù)組轉(zhuǎn)換為XML的方法
這篇文章主要介紹了php實現(xiàn)將數(shù)組轉(zhuǎn)換為XML的方法,實例分析了php操作數(shù)組及XML格式文件的技巧,具有一定參考借鑒價值,需要的朋友可以參考下2015-03-03
php 命名空間(namespace)原理與用法實例小結(jié)
這篇文章主要介紹了php 命名空間(namespace)原理與用法,結(jié)合實例形式總結(jié)分析了PHP命名空間的相關(guān)概念、原理、基本使用方法及相關(guān)操作注意事項,需要的朋友可以參考下2019-11-11
php用數(shù)組返回無限分類的列表數(shù)據(jù)的代碼
php自定義函數(shù)之用數(shù)組返回無限分類的列表數(shù)據(jù),這樣的實現(xiàn)可以提高執(zhí)行的效率不要每次都從數(shù)據(jù)庫讀取數(shù)據(jù)。2010-08-08
PHP結(jié)合Redis+MySQL實現(xiàn)冷熱數(shù)據(jù)交換應用案例詳解
這篇文章主要介紹了PHP結(jié)合Redis+MySQL實現(xiàn)冷熱數(shù)據(jù)交換應用案例,結(jié)合具體實例形式詳細分析了Redis+MySQL冷熱數(shù)據(jù)交換原理、實現(xiàn)方法及相關(guān)操作技巧,需要的朋友可以參考下2019-07-07

