ホームページ バックエンド開発 PHPチュートリアル PHP を使用して単体テストとコード カバレッジ検出を実装する方法

PHP を使用して単体テストとコード カバレッジ検出を実装する方法

Sep 06, 2023 pm 01:37 PM
php 単体テスト コードカバレッジ

如何使用 PHP 实现单元测试和代码覆盖率检测

PHP を使用して単体テストとコード カバレッジ検出を実装する方法

はじめに:
ソフトウェア開発において、単体テストは非常に重要なタスクです。コードの品質と関数の正常な動作を保証します。コード カバレッジ検出は、テスト ケースがコード カバレッジを検出する程度を評価し、テスト ケースの欠点を発見し、テスト カバレッジを向上させるのに役立ちます。この記事では、PHP で PHPUnit フレームワークを使用して単体テストとコード カバレッジ検出を実装する方法を紹介します。

1. 環境の準備
開始する前に、次の環境を準備する必要があります:

  1. PHP 環境
  2. Composer ツール (PHPUnit のインストール用) )
    ターミナルで次のコマンドを実行すると、PHP と Composer がインストールされているかどうかを確認できます:

    php -v
    composer -V
    ログイン後にコピー

    対応するバージョン番号が表示されれば、インストールが成功したことを意味します。

2. PHPUnit のインストール
PHPUnit は、単体テストの作成と実行に役立つ PHP の単体テスト フレームワークです。 Composer を通じて PHPUnit をインストールし、ターミナルで次のコマンドを実行できます。

composer require --dev phpunit/phpunit
ログイン後にコピー

上記のコマンドをプロジェクトに追加すると、Composer は自動的に PHPUnit 関連の依存関係ライブラリを Internat からダウンロードし、対応するファイルをプロジェクトのベンダー ディレクトリ。

3. 単体テスト ケースを作成する
次に、コードをテストするためのテスト ケースを作成する必要があります。まず、プロジェクトのルート ディレクトリにテスト フォルダーを作成し、テスト ケース コードを保存します。次に、サンプル クラス Example を作成して、そのメソッドの 1 つをテストします。次の内容を含む ExampleTest.php ファイルをテスト フォルダーに作成します:

<?php

require_once './vendor/autoload.php';
require_once './Example.php';

use PHPUnitFrameworkTestCase;

class ExampleTest extends TestCase
{
    public function testAddition()
    {
        $example = new Example();
        $result = $example->addition(2, 3);
        $this->assertEquals(5, $result);
    }
}
ログイン後にコピー

この例では、PHPUnit が提供する TestCase クラスを使用してテスト クラス ExampleTest を作成し、その中にテスト メソッド testAddition を記述します。 Example クラスの追加メソッド。 Example クラスのサンプル オブジェクトを作成し、addition メソッドを呼び出し、その戻り値が期待される結果と等しいかどうかをアサートします。

4. テスト対象のコードを作成する
テスト ケースでは、テストする必要があるのは、テスト対象のコードの機能です。したがって、追加メソッドを完了するために Example クラスも作成する必要があります。プロジェクトのルート ディレクトリに次の内容の Example.php ファイルを作成します。

<?php

class Example
{
    public function addition($a, $b)
    {
        return $a + $b;
    }
}
ログイン後にコピー

この例では、2 つの数値の加算と和集合を実装する加算メソッドを持つ Example クラスを作成しました。結果を返します。

5. 単体テストの実行
テスト ケースとテストされたコードを作成した後、ターミナルで次のコマンドを実行して単体テストを実行できます:

./vendor/bin/phpunit tests
ログイン後にコピー

このコマンドの実行後, PHPUnit は、tests フォルダー内のテスト ケース ExampleTest.php を実行します。テストが完了すると、テスト結果とカバレッジ情報が表示されます。

6. コード カバレッジの検出
コード カバレッジの検出は、テスト ケースのコード カバレッジの程度を評価し、テスト ケースの欠点を発見するのに役立ちます。単体テストの実行中に、次のコマンドを使用してコード カバレッジ レポートを生成できます。

./vendor/bin/phpunit --coverage-html coverage tests
ログイン後にコピー

このコマンドを実行すると、PHPUnit はプロジェクト ルート ディレクトリにカバレッジ ディレクトリを生成します。このディレクトリには、コード カバレッジ レポートが含まれます。ブラウザでこのディレクトリにあるindex.htmlファイルを開くと、カバレッジレポートを表示できます。

7. 概要
この記事では、PHPUnit フレームワークを使用して PHP 単体テストとコード カバレッジ検出を実装する方法を紹介します。まずはテストに必要な環境を準備し、PHPUnitをインストールしました。次に、テスト ケースとテスト対象のコードを作成し、単体テストを実行しました。最後に、コード カバレッジ レポートを生成して、テスト ケースがコードをどの程度カバーしているかを評価します。上記の手順により、コードの品質と関数の正常な動作をより確実に保証できます。

以上がPHP を使用して単体テストとコード カバレッジ検出を実装する方法の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

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

ホットな記事タグ

メモ帳++7.3.1

メモ帳++7.3.1

使いやすく無料のコードエディター

SublimeText3 中国語版

SublimeText3 中国語版

中国語版、とても使いやすい

ゼンドスタジオ 13.0.1

ゼンドスタジオ 13.0.1

強力な PHP 統合開発環境

ドリームウィーバー CS6

ドリームウィーバー CS6

ビジュアル Web 開発ツール

SublimeText3 Mac版

SublimeText3 Mac版

神レベルのコード編集ソフト(SublimeText3)

Ubuntu および Debian 用の PHP 8.4 インストールおよびアップグレード ガイド Ubuntu および Debian 用の PHP 8.4 インストールおよびアップグレード ガイド Dec 24, 2024 pm 04:42 PM

Ubuntu および Debian 用の PHP 8.4 インストールおよびアップグレード ガイド

CakePHP の日付と時刻 CakePHP の日付と時刻 Sep 10, 2024 pm 05:27 PM

CakePHP の日付と時刻

CakePHP ファイルのアップロード CakePHP ファイルのアップロード Sep 10, 2024 pm 05:27 PM

CakePHP ファイルのアップロード

CakePHP ルーティング CakePHP ルーティング Sep 10, 2024 pm 05:25 PM

CakePHP ルーティング

CakePHP について話し合う CakePHP について話し合う Sep 10, 2024 pm 05:28 PM

CakePHP について話し合う

CakePHP プロジェクトの構成 CakePHP プロジェクトの構成 Sep 10, 2024 pm 05:25 PM

CakePHP プロジェクトの構成

CakePHP クイックガイド CakePHP クイックガイド Sep 10, 2024 pm 05:27 PM

CakePHP クイックガイド

PHP 開発用に Visual Studio Code (VS Code) をセットアップする方法 PHP 開発用に Visual Studio Code (VS Code) をセットアップする方法 Dec 20, 2024 am 11:31 AM

PHP 開発用に Visual Studio Code (VS Code) をセットアップする方法

See all articles