テストなしで 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>