您好,登錄后才能下訂單哦!
本篇文章為大家展示了如何在ThinkPHP5中使用PHPUnit實現單元測試,內容簡明扼要并且容易理解,絕對能使你眼前一亮,通過這篇文章的詳細介紹希望你能有所收獲。
項目內安裝PHPUnit
使用 composer 方式安裝 PHPUnit 項目根目錄下執行下面這段代碼
composer require phpunit/phpunit
自動下載適配版本 我下載的時4.8.36
將 F:\wamp\wamp\www\tp5\vendor\bin 添加加到 PATH 環境變量中(這樣PHPunit全局生效)
PHPUnit簡單用法
1、單個文件測試
根目錄下創建目錄tests
新建文件 FirstTest.php,編輯如下:
<?php /** * 1、引入autoload.php文件 * 2、測試案例 * * */ namespace App\tests; require_once __DIR__ . '/../vendor/autoload.php'; use PHPUnit\Framework\TestCase; class FirstTest extends TestCase { public function testTure() { $stack = []; $this->assertEquals(0, count($stack)); } }
代碼解釋:
FirstTest為測試類FirstTest繼承于 PHPUnit\Framework\TestCase測試方法testTure(),測試方法必須為public權限,一般以test開頭,或者你也可以選擇給其加注釋@test來表在測試方法內,類似于 assertEquals() 這樣的斷言方法用來對實際值與預期值的匹配做出來以此判斷方法是否正確
命令行執行:
tests目錄下 執行 >phpunit FirstTest 命令 測試文件命名
測試項目內方法
tp5項目下的控制器在 F:\wamp\wamp\www\tp5\application\index\controller 文件夾下 寫一個簡單的方法
在tests內寫一個IndexTest.php
<?php namespace App\tests; require_once __DIR__ . '/../vendor/autoload.php'; use PHPUnit\Framework\TestCase; use app\index\controller\Index; class IndexTest extends TestCase { public function testSum() { $obj = new Index; $this->assertEquals(6, $obj->index(2,3)); } }
執行后的結果 成功!
如果我在index.php,和IndexTest.php都故意寫錯
返回結果 會有錯誤位置
上述內容就是如何在ThinkPHP5中使用PHPUnit實現單元測試,你們學到知識或技能了嗎?如果還想學到更多技能或者豐富自己的知識儲備,歡迎關注億速云行業資訊頻道。
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。