如何使用 PHPUnit 進行 PHP 程式碼覆蓋:安裝 PHPUnit。配置 PHPUnit 設定檔(phpunit.xml)。運行程式碼覆蓋命令(phpunit --coverage-html build/coverage)。解釋報告:覆蓋率:執行的程式碼行數與總程式碼行數的百分比。覆蓋的類別和方法:列出所有已覆蓋的類別和方法。未覆蓋的程式碼:突出顯示未執行的程式碼行。
#簡介
程式碼覆蓋是一種測試技術,它測量程式中執行的程式碼行數。這有助於識別未測試的程式碼路徑和潛在的錯誤。 PHPUnit 是一個流行的 PHP 測試框架,它提供了內建的程式碼覆蓋工具。
安裝PHPUnit
要安裝PHPUnit,請使用Composer:
composer global require "phpunit/phpunit:^9"
配置PHPUnit
#要在專案中配置PHPUnit,請建立一個名為phpunit.xml
的設定檔並新增以下內容:
<phpunit> <testsuites> <testsuite name="MyTestSuite"> <directory>tests</directory> </testsuite> </testsuites> <filter> <whitelist processUncoveredFilesFromWhitelist="true"> <directory suffix=".php">src</directory> </whitelist> </filter> <logging> <log type="coverage-html" target="build/coverage" /> </logging> </phpunit>
執行程式碼覆蓋
若要產生程式碼覆蓋報告,請執行以下命令:
phpunit --coverage-html build/coverage
解釋程式碼覆蓋報告
#產生的報告將顯示一個互動式HTML 介面。
實戰案例
考慮以下PHP 類別:
class Calculator { public function add(int $a, int $b): int { return $a + $b; } }
要對其進行測試,我們建立一個測試案例:
class CalculatorTest extends PHPUnit_Framework_TestCase { public function testAdd() { $calculator = new Calculator(); $this->assertEquals(3, $calculator->add(1, 2)); } }
執行PHPUnit,生成程式碼覆蓋報告後,可以看到以下結果:
....... 6 / 6 (100%) Time: 0 seconds, Memory: 4.00 MB OK (1 test, 1 assertion)
該報告表明所有程式碼都已覆蓋(100%)。
以上是使用 PHP 程式碼覆蓋工具提高測試效率的詳細內容。更多資訊請關注PHP中文網其他相關文章!