4

テストなしで Laravel 4 を新たにセットアップしました。CIサーバー(Jenkinsを実行)用にセットアップしようとしているので、コードカバレッジが必要です。Laravelはクラスのエイリアスを使用しているため、クローバーレポートを生成しようとすると問題が発生します。

エラーメッセージ

Generating code coverage report in Clover XML format ...
PHP Fatal error:  Class 'Eloquent' not found in <path>/app/models/User.php on line 6

ユーザー モデルをIlluminate\Database\Eloquent\Model単なるEloquent(エイリアス) ではなく拡張するように変更すると、このエラーは発生しません。私はエイリアスを使用したいと思います。誰かがこれに対する解決策を持っているなら、私は感謝します。

phpunit.xml

<?xml version="1.0" encoding="UTF-8"?>

<phpunit backupGlobals="false"
         backupStaticAttributes="false"
         bootstrap="bootstrap/autoload.php"
         colors="true"
         convertErrorsToExceptions="true"
         convertNoticesToExceptions="true"
         convertWarningsToExceptions="true"
         processIsolation="false"
         stopOnFailure="false"
         syntaxCheck="false"
>

    <testsuites>
        <testsuite name="Test suite">
            <directory>./app/tests/</directory>
        </testsuite>
    </testsuites>

    <logging>
        <log type="coverage-html" target="build/coverage" title="coverage"
            charset="UTF-8" yui="true" highlight="true"
            lowUpperBound="35" highLowerBound="70"/>
        <log type="coverage-clover" target="build/logs/clover.xml"/>
        <log type="junit" target="build/logs/junit.xml" logIncompleteSkipped="false"/>
    </logging>

    <filter>
        <blacklist>
            <directory suffix=".php">/usr/local/</directory>
            <directory suffix=".php">/usr/share/</directory>
            <directory suffix=".php">vendor</directory>
        </blacklist>
        <whitelist processUncoveredFilesFromWhitelist="true">
            <directory suffix=".php">./app/models</directory>
            <directory suffix=".php">./app/controllers</directory>
        </whitelist>
    </filter>
</phpunit>
4

1 に答える 1

1

気にしないでください。これは、テストが実行されていない場合に発生する単なるエラーです。で1つのテストを追加しましたが$this->assertTrue(true)、すべて正常に動作します。

于 2013-05-31T08:28:20.283 に答える