2

ここにあるphpunit.xml

<phpunit
        bootstrap="bootstrap.php"
        colors="false"
        convertErrorsToExceptions="true"
        convertNoticesToExceptions="true"
        convertWarningsToExceptions="true"
        stopOnFailure="false"
        stopOnError="false"
        stopOnIncomplete="false"
        stopOnSkipped="false">

    <filter>
        <whitelist processUncoveredFilesFromWhitelist="true">
            <directory suffix=".php">../modules</directory>
            <directory suffix=".php">../models</directory>
            <directory suffix=".php">../lib</directory>
            <directory suffix=".php">../components</directory>
            <exclude>
                <directory suffix=".php">../modules/*/views</directory>
                <directory suffix=".php">../modules/*/widgets</directory>
                <directory suffix=".php">../modules/*/controllers</directory>
                <directory suffix=".php">../modules/ClaimProfile</directory>
                <directory suffix=".php">../modules/SocialNetworks</directory>
            </exclude>
        </whitelist>
    </filter>

    <logging>
        <log type="coverage-clover" target="build/logs/clover.xml" />
        <log type="junit" target="build/logs/junit.xml" logIncompleteSkipped="true" />
    </logging>
</phpunit>

結果には、名前空間を持つクラスの情報clover.xml 含まれ、Jenkin の PHP-Clover プラグインを除くすべてが、名前空間内のコードを無視するカバレッジを報告し続けます。(つまり、名前空間を定義するソース ファイルはレポートに表示されませんが、グローバル名前空間に完全に分類されるコードを含むファイルはリストに表示されます)。

4

1 に答える 1

1

最終的に同じ問題に遭遇しました。Jenkins Clover PHP Plugin にエラーが含まれていることが判明しました。

https://github.com/jenkinsci/cloverphp-plugin/blob/master/src/main/java/org/jenkinsci/plugins/cloverphp/CloverCoverageParser.java

簡単にわかるように、Clover Coverage Parser は、カバレッジ/プロジェクト、カバレッジ/プロジェクト/ファイル、およびカバレッジ/プロジェクト/ファイル/クラス オブジェクトを解析します。これは、カバレッジ/プロジェクト/パッケージ (および 内のすべて) を無視します。

これは、プラグインのメンテナーが簡単に修正できます。

于 2014-11-14T04:58:32.587 に答える