ホームページ  >  記事  >  バックエンド開発  >  PHP プロジェクトで単体テストとコード カバレッジを実装するにはどうすればよいですか?

PHP プロジェクトで単体テストとコード カバレッジを実装するにはどうすればよいですか?

王林
王林オリジナル
2023-11-02 18:13:53725ブラウズ

PHP プロジェクトで単体テストとコード カバレッジを実装するにはどうすればよいですか?

PHP プロジェクトで単体テストとコード カバレッジを実装するにはどうすればよいですか?

はじめに
ソフトウェア開発プロセスにおいて、単体テストは非常に重要なリンクです。コードの単位をテストすることで、コードの品質を向上させ、潜在的なエラーを減らし、プログラムの安定性と信頼性を確保できます。コード カバレッジはテストの尺度であり、テストでカバーされるコードの量と、不足しているテスト ケースがあるかどうかを知ることができます。この記事では、PHP プロジェクトで単体テストとコード カバレッジを実装する方法を紹介します。

1. PHPUnit と Xdebug 拡張機能をインストールする
PHPUnit は、さまざまなテスト タイプとアサーションをサポートし、単体テストの作成と実行に役立つ人気のある PHP テスト フレームワークです。始める前に、PHPUnit 拡張機能と Xdebug 拡張機能をインストールする必要があります。

  1. PHPUnit をインストールします:
    Composer を通じてインストールできます。次のコマンドを実行します:

    composer require --dev phpunit/phpunit
  2. Xdebug 拡張機能をインストールします:
    Xdebugコード カバレッジ レポート機能を提供する強力な PHP デバッグ拡張機能です。次のコマンドを使用して Xdebug 拡張機能をインストールできます:

    pecl install xdebug

    インストールが完了したら、php.ini ファイルで Xdebug 拡張機能を有効にし、次の構成を追加する必要があります:

    zend_extension=path/to/xdebug.so

    PHP-FPM または Web サーバーを再起動し、設定を有効にします。

2. 単体テスト ケースを作成する
単体テストを実装する前に、テスト ケース、つまり 1 つ以上の関数、メソッド、またはクラスのテスト コードを作成する必要があります。コードの正確性を保証するために、テスト ケースはさまざまなシナリオと境界条件をカバーする必要があります。

次は簡単な例です。2 つのメソッド addsubtract を含むクラス Calculator を作成し、対応するメソッドを作成します。テストケース。

class CalculatorTest extends PHPUnitFrameworkTestCase
{
    public function testAdd()
    {
        $calculator = new Calculator();
        $result = $calculator->add(2, 3);
        $this->assertEquals(5, $result);
    }

    public function testSubtract()
    {
        $calculator = new Calculator();
        $result = $calculator->subtract(5, 3);
        $this->assertEquals(2, $result);
    }
}

3. 単体テストの実行
テスト ケースを作成した後、PHPUnit を使用してこれらのテストを実行できます。

  1. #プロジェクトのルート ディレクトリに、次の内容を含む

    phpunit.xml という名前の構成ファイルを作成します:

    <?xml version="1.0" encoding="UTF-8"?>
    <phpunit bootstrap="vendor/autoload.php">
        <testsuites>
            <testsuite name="My Test Suite">
                <directory>tests</directory>
            </testsuite>
        </testsuites>
    </phpunit>

  2. # #ターミナルで、プロジェクトのルート ディレクトリに入り、次のコマンドを実行します。
  3. vendor/bin/phpunit

    PHPUnit は、

    tests

    ディレクトリ内のテスト ケース ファイルを自動的に検索して実行し、テスト結果を出力します。

  4. 4. コード カバレッジ レポートの生成
単体テストの実行プロセス中に、Xdebug 拡張機能を通じてコード カバレッジ レポートを生成し、テストでカバーされるコードの量を把握できます。記入漏れはないか。


    次のコードを
  1. phpunit.xml

    構成ファイルに追加して、コード カバレッジを有効にします: <pre class='brush:xml;toolbar:false;'>&lt;coverage processUncoveredFiles=&quot;true&quot;&gt; &lt;include&gt; &lt;directory&gt;src&lt;/directory&gt; &lt;/include&gt; &lt;/coverage&gt;</pre>

  2. ターミナル内で、単体テスト コマンドを再実行します。
  3. vendor/bin/phpunit --coverage-html report/

    実行後、プロジェクト ルート ディレクトリに

    report

    という名前のフォルダーが生成され、このフォルダーにはコード カバレッジ レポートの HTML ファイルが含まれます。ブラウザーで HTML ファイルを開き、コード カバレッジを表示します。

  4. 結論
PHPUnit 拡張機能と Xdebug 拡張機能を使用すると、PHP プロジェクトで単体テストとコード カバレッジ統計を簡単に実装できます。これにより、コードの品質と安定性が向上し、潜在的なバグが減少します。この記事が役に立ち、PHP プロジェクトの開発とテストをより適切に行えるようになることを願っています。

以上がPHP プロジェクトで単体テストとコード カバレッジを実装するにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。