溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務(wù)條款》

如何在ThinkPHP5中使用PHPUnit實現(xiàn)單元測試

發(fā)布時間:2021-06-09 16:59:53 來源:億速云 閱讀:485 作者:Leah 欄目:開發(fā)技術(shù)

本篇文章為大家展示了如何在ThinkPHP5中使用PHPUnit實現(xiàn)單元測試,內(nèi)容簡明扼要并且容易理解,絕對能使你眼前一亮,通過這篇文章的詳細(xì)介紹希望你能有所收獲。

項目內(nèi)安裝PHPUnit

使用 composer 方式安裝 PHPUnit 項目根目錄下執(zhí)行下面這段代碼

composer require phpunit/phpunit

自動下載適配版本  我下載的時4.8.36

如何在ThinkPHP5中使用PHPUnit實現(xiàn)單元測試

如何在ThinkPHP5中使用PHPUnit實現(xiàn)單元測試

將 F:\wamp\wamp\www\tp5\vendor\bin 添加加到 PATH 環(huán)境變量中(這樣PHPunit全局生效)

如何在ThinkPHP5中使用PHPUnit實現(xiàn)單元測試

PHPUnit簡單用法

1、單個文件測試

根目錄下創(chuàng)建目錄tests

如何在ThinkPHP5中使用PHPUnit實現(xiàn)單元測試

新建文件 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權(quán)限,一般以test開頭,或者你也可以選擇給其加注釋@test來表在測試方法內(nèi),類似于 assertEquals() 這樣的斷言方法用來對實際值與預(yù)期值的匹配做出來以此判斷方法是否正確

命令行執(zhí)行:
tests目錄下 執(zhí)行  >phpunit FirstTest     命令 測試文件命名

如何在ThinkPHP5中使用PHPUnit實現(xiàn)單元測試

測試項目內(nèi)方法 

tp5項目下的控制器在  F:\wamp\wamp\www\tp5\application\index\controller 文件夾下 寫一個簡單的方法

如何在ThinkPHP5中使用PHPUnit實現(xiàn)單元測試

在tests內(nèi)寫一個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));
 
  }
 
}

執(zhí)行后的結(jié)果  成功!

如何在ThinkPHP5中使用PHPUnit實現(xiàn)單元測試

如果我在index.php,和IndexTest.php都故意寫錯 

如何在ThinkPHP5中使用PHPUnit實現(xiàn)單元測試

如何在ThinkPHP5中使用PHPUnit實現(xiàn)單元測試

返回結(jié)果  會有錯誤位置

如何在ThinkPHP5中使用PHPUnit實現(xiàn)單元測試

上述內(nèi)容就是如何在ThinkPHP5中使用PHPUnit實現(xiàn)單元測試,你們學(xué)到知識或技能了嗎?如果還想學(xué)到更多技能或者豐富自己的知識儲備,歡迎關(guān)注億速云行業(yè)資訊頻道。

向AI問一下細(xì)節(jié)

免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點不代表本網(wǎng)站立場,如果涉及侵權(quán)請聯(lián)系站長郵箱:is@yisu.com進(jìn)行舉報,并提供相關(guān)證據(jù),一經(jīng)查實,將立刻刪除涉嫌侵權(quán)內(nèi)容。

AI