溫馨提示×

Ubuntu PHPStorm如何進行單元測試

小樊
33
2025-10-16 20:45:07
欄目: 編程語言

1. 安裝PHPUnit
在Ubuntu終端中,通過Composer全局安裝PHPUnit(推薦方式,便于項目級管理):

composer global require phpunit/phpunit

安裝完成后,將Composer的全局bin目錄添加到系統PATH中(如使用bash,編輯~/.bashrc~/.zshrc文件,添加export PATH="$PATH:$HOME/.composer/vendor/bin",然后運行source ~/.bashrcsource ~/.zshrc使更改生效)。也可通過Ubuntu軟件倉庫安裝(sudo apt-get install phpunit/phpunit),但全局安裝更靈活。

2. 配置PhpStorm使用PHPUnit
打開PhpStorm,進入File > Settings(或PhpStorm > Preferences,macOS用戶),導航至Tools > PHP > PHPUnit

  • 選擇PHPUnit可執行文件:若全局安裝了PHPUnit,PhpStorm會自動檢測其路徑(通常為/usr/bin/phpunit~/.composer/vendor/bin/phpunit);若未檢測到,可手動指定路徑。
  • 配置phpunit.xml:勾選Use configuration file,指定項目根目錄下的phpunit.xml配置文件路徑(后續步驟會創建)。
    點擊OK保存配置。

3. 創建測試目錄與測試用例
在項目根目錄下創建tests目錄(用于存放所有測試文件,符合PHPUnit約定)。新建測試類文件(如ExampleTest.php),內容需繼承PHPUnit\Framework\TestCase,且測試方法以test開頭:

<?php
use PHPUnit\Framework\TestCase;

class ExampleTest extends TestCase
{
    public function testExample()
    {
        $this->assertTrue(true); // 斷言示例:驗證true等于true
    }

    public function testAddition()
    {
        $this->assertEquals(4, 2 + 2); // 斷言示例:驗證2+2等于4
    }
}

測試類命名需遵循類名Test.php規則(如UserModelTest.php對應UserModel類)。

4. 編寫phpunit.xml配置文件
在項目根目錄下創建phpunit.xml文件,定義測試套件、白名單等配置(示例):

<?xml version="1.0" encoding="UTF-8"?>
<phpunit bootstrap="vendor/autoload.php" colors="true">
    <testsuites>
        <testsuite name="Default Test Suite">
            <directory suffix="Test.php">./tests</directory> <!-- 測試文件目錄及后綴 -->
        </testsuite>
    </testsuites>
    <filter>
        <whitelist processUncoveredFilesFromWhitelist="true">
            <directory suffix=".php">./src</directory> <!-- 被測試代碼目錄(白名單) -->
        </directory>
    </filter>
</phpunit>
  • bootstrap:指定項目自動加載文件(如Composer生成的vendor/autoload.php),確保測試時能加載項目類。
  • testsuites:定義測試套件,指定測試文件所在目錄及命名規則(如suffix="Test.php"表示以Test.php結尾的文件)。
  • filter:設置被測試代碼的白名單(如src目錄下的.php文件),用于生成測試覆蓋率報告。

5. 運行單元測試
PhpStorm提供多種運行測試的方式:

  • 運行單個測試方法:在編輯器中打開測試方法,右鍵點擊方法名,選擇Run 'testMethodName()'(如Run 'testAddition()')。
  • 運行單個測試類:在編輯器或項目視圖中右鍵點擊測試類文件(如ExampleTest.php),選擇Run 'ExampleTest'。
  • 運行所有測試:在項目視圖中右鍵點擊tests目錄,選擇Run 'All Tests';或在PhpStorm頂部工具欄點擊綠色三角形按鈕,從下拉列表中選擇PHPUnit配置。
    測試結果將顯示在Run工具窗口中,包含通過/失敗的測試數量、執行時間及錯誤詳情(如斷言失敗的具體信息)。

6. 調試單元測試
若測試失敗或需要排查問題,可使用PhpStorm的調試功能:

  • 在測試方法中設置斷點(點擊行號左側,出現紅色圓點)。
  • 右鍵點擊測試方法或類,選擇Debug 'testMethodName()'(如Debug 'testAddition()')。
  • PhpStorm將進入調試模式,可通過調試工具窗口查看變量值、調用棧等信息,逐步執行代碼以定位問題。

注意事項

  • 確保PHPStorm中配置的PHP解釋器與項目使用的PHP版本一致(進入File > Settings > PHP,選擇正確的解釋器)。
  • 若使用Composer管理項目依賴,確保vendor/autoload.php文件存在(運行composer install生成)。
  • 測試覆蓋率:可在phpunit.xml中配置覆蓋率輸出(如<logging><coverage>),通過Run工具窗口查看代碼覆蓋率報告。

0
亚洲午夜精品一区二区_中文无码日韩欧免_久久香蕉精品视频_欧美主播一区二区三区美女