目次
関連機能
ホームページ php教程 php手册 Xdebugドキュメント (5) コードカバレッジ分析

Xdebugドキュメント (5) コードカバレッジ分析

Jun 17, 2016 am 08:21 AM

コード カバレッジ分析により、要求されたときにスクリプトのどの行 (またはセクション) が実行されるかを知ることができます。

関連設定

xdebug.coverage_enable

タイプ: ブール、デフォルト値: 1

で始まります

Xdebug >= 2.2

0 に設定すると、Xdebug はコード分析を可能にする組み込み構造をセットアップしません。これにより、xdebug の速度が向上しますが、コード カバレッジ分析は機能しなくなります。

関連機能

ブール値 xdebug_code_coverage_started()

コード カバレッジ分析が開始されたかどうかを確認するブール値を返します。

例:

<?<span style="color: #000000;">php
    </span><span style="color: #008080;">var_dump</span><span style="color: #000000;">(xdebug_code_coverage_started());

    xdebug_start_code_coverage();

    </span><span style="color: #008080;">var_dump</span><span style="color: #000000;">(xdebug_code_coverage_started());
</span>?>  
ログイン後にコピー

戻り値:

bool(false)
ログイン後にコピー
bool(true)
ログイン後にコピー
 
ログイン後にコピー

配列 xdebug_get_code_coverage()

スクリプトのどの行 (参照ファイルを含む) が実行されているかを含む構造体を返します。以下は、特定のファイルを指定するコード カバレッジの例を示しています。

例:

<?<span style="color: #000000;">php
    xdebug_start_code_coverage();

    </span><span style="color: #0000ff;">function</span> a(<span style="color: #800080;">$a</span><span style="color: #000000;">) {
        </span><span style="color: #0000ff;">echo</span> <span style="color: #800080;">$a</span> * 2.5<span style="color: #000000;">;
    }

    </span><span style="color: #0000ff;">function</span> b(<span style="color: #800080;">$count</span><span style="color: #000000;">) {
        </span><span style="color: #0000ff;">for</span> (<span style="color: #800080;">$i</span> = 0; <span style="color: #800080;">$i</span> < <span style="color: #800080;">$count</span>; <span style="color: #800080;">$i</span>++<span style="color: #000000;">) {
            a(</span><span style="color: #800080;">$i</span> + 0.17<span style="color: #000000;">);
        }
    }

    b(</span>6<span style="color: #000000;">);
    b(</span>10<span style="color: #000000;">);

    </span><span style="color: #008080;">var_dump</span><span style="color: #000000;">(xdebug_get_code_coverage());
</span>?>  
ログイン後にコピー

戻り値:

配列

'/home/httpd/html/test/xdebug/docs/xdebug_get_code_coverage.php' =>

配列

5 => int 1

6 => int 1

7 => int 1

9 => int 1

10 => int 1

11 => int 1

12 => int 1

13 => int 1

15 => int 1

16 => int 1

18 => int 1

void xdebug_start_code_coverage( [int options] )

コードカバレッジ分析の開始

この関数はコードカバレッジ情報の収集を開始します。この情報は 2 次元配列で構成され、1 次元のインデックスは実行ファイル名、2 次元のインデックスは行番号です。要素の値は、行が実行されたか、または到達不能な行があるかを示します。

各行に返される値:

1: この行はすでに実行されています
  • -1: この行は実行されていません
  • -2: この行には実行可能コードがありません
  • -1 の値は XDEBUG_CC_UNUSED がオンの場合にのみ返され、-2 の値は XDEBUG_CC_UNUSED と XDEBUG_CC_DEAD_CODE が同時にオンの場合にのみ返されます。

関数には列挙値を含む 2 つのオプションがあります:

XDEBUG_CC_UNUSED

コード検出を有効にし、実行可能なコード行を示します。この項目がないと、返される配列には実際に実行された行番号のみが含まれます。

XDEBUG_CC_DEAD_CODE

追加の分析を開始して、どのコードが実行可能かを示します。

これらのオプションを有効にすると、コード カバレッジ分析の速度が大幅に低下します。

次の例は、オプションの使用方法を示しています:

例:

<?<span style="color: #000000;">php
xdebug_start_code_coverage( XDEBUG_CC_UNUSED </span>|<span style="color: #000000;"> XDEBUG_CC_DEAD_CODE );
</span>?>
ログイン後にコピー

void xdebug_stop_code_coverage( [int cleanup=true] )

コードカバレッジ分析を停止

この関数は情報の収集を停止し、情報はメモリから消去されます。 「false」パラメータを渡すと、コード カバレッジ情報はクリアされず、

xdebug_start_code_coverage()

を再度使用して情報収集を再開できます。

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

ホットAIツール

Undresser.AI Undress

Undresser.AI Undress

リアルなヌード写真を作成する AI 搭載アプリ

AI Clothes Remover

AI Clothes Remover

写真から衣服を削除するオンライン AI ツール。

Undress AI Tool

Undress AI Tool

脱衣画像を無料で

Clothoff.io

Clothoff.io

AI衣類リムーバー

AI Hentai Generator

AI Hentai Generator

AIヘンタイを無料で生成します。

ホットツール

メモ帳++7.3.1

メモ帳++7.3.1

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

SublimeText3 中国語版

SublimeText3 中国語版

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

ゼンドスタジオ 13.0.1

ゼンドスタジオ 13.0.1

強力な PHP 統合開発環境

ドリームウィーバー CS6

ドリームウィーバー CS6

ビジュアル Web 開発ツール

SublimeText3 Mac版

SublimeText3 Mac版

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