13

ユニットテストZend Frameworkアプリケーションでロープを学んでいます。これまでのところPHPUnit、作業の準備Zend Frameworkが整い、いくつかの簡単なテスト ケースを書き始めました。

私の問題は、Code Coverage.log のログ タグに設定されているにもかかわらず、なぜ機能しないのか疑問に思っていることですphpunit.xml

エラーは発生しませんが、カバレッジ レポートは生成されません。

ただし、実行すると機能しますphpunit --coverage <dir>

私のphpunitのロギングセクションは以下の通りです:

<phpunit bootstrap="./application/bootstrap.php" colors="true">
        <testsuite name="CI Test Suite">
            <directory>./</directory>
        </testsuite>
        <testsuite name="Library Test Suite">
            <directory>./library</directory>
        </testsuite>

        <filter>
            <whitelist>
                <directory suffix=".php">../application/</directory>
                <exclude>
                    <directory suffix=".phtml">../application</directory>
                    <file>../application/Bootstrap.php</file>
                    <file>../application/controllers/ErrorController.php</file>
                </exclude>
            </whitelist>
           <logging>
               <log type="coverage-html" target="./log/report" charset="UTF-8" yui="true"
   highlight="true" lowUpperBound="50" highLowerBound="80" />
               <log type="testdox" target="./log/testdox.html" />    
           </logging>
        </filter>
    </phpunit>

誰もこれに遭遇しましたか?では、どのような問題が考えられるでしょうか。

4

1 に答える 1

27

これが私のプロジェクトの1つのphpunit.xmlです。これは正常に機能します。ご覧のとおり、ロギングセクションはフィルターセクションの外側にあるため、MarkBakerがコメントした問題である可能性があります。小さなプロジェクトからのもので、とてもシンプルなので、これを選びました。

<phpunit bootstrap="./bootstrap.php" colors="false">
    <testsuite name="HSSTests">
        <directory>./</directory>
    </testsuite>

    <filter>
        <whitelist>
            <directory suffix=".php">d:/wamp/app_hss/</directory>
            <exclude>
                <directory suffix=".phtml">d:/wamp/app_hss/</directory>
                <directory suffix=".php">d:/wamp/app_hss/tests/</directory>
            </exclude>
        </whitelist>
    </filter>

    <logging>
        <log type="coverage-html" target="./log/codeCoverage" charset="UTF-8"
            yui="true" highlight="true"
            lowUpperBound="50" highLowerBound="80"/>
        <log type="testdox-html" target="./log/testdox.html" />
    </logging>
</phpunit>

これに関して必要になる可能性のあるすべての情報は、PHPunitのマニュアルにあります。

于 2012-04-23T18:42:02.053 に答える