0

テストのコード カバレッジ レポートを作成しようとすると、奇妙な結果が得られます。

私はこれを次のように呼びます:

phpunit --coverage-html report tests/JSONTest.php

そして、これを取得します:

PHPUnit 3.6.12 by Sebastian Bergmann.
.
Time: 0 seconds, Memory: 6.75Mb
OK (1 test, 1 assertion)
Generating code coverage report in HTML format ... done

私のテストは次のようになります。

<?php

require_once dirname(__FILE__) . "/../include/includeAllNecessaryFiles.php";

class JSONTest extends PHPUnit_Framework_TestCase {
    public function testBla() {
        $this->assertEquals("hallo", "hallo");
    }
}

ファイル includeAllNecessaryFiles.php の内容は次のとおりです。

<?php
include '/usr/share/php/PHPUnit/Framework/TestCase.php';

function something(){

}

レポートには、使用された php ファイルのすべてのディレクトリが一覧表示されますが、ファイルは一覧表示されません。100% のカバレッジが表示され、0 行中 0 行がカバーされています。

これを捨てると:

function something(){

}

レポートは正常に機能し、テストがカバーする行数が正確に示されます。

誰かアイデアがありますか?

前もって感謝します!

ベン

4

1 に答える 1

1

コード カバレッジ レポートが常に 100% 正確であるとは限らないことがわかりました。多くの理由が考えられます。私はかつてこれについて Derick Rethans (Xdebug の作成者) に尋ねました。Zend Debugger と Xdebug を同時に使用すると (私がよく行うことですが)、行数が減ることがわかっていると彼は言いました。

これがあまり役に立たないことはわかっていますが、これが既知の問題であることをお知らせしたかっただけです。

于 2013-04-30T18:50:48.483 に答える