1

私は次のようにPHPユニットを実行しています:

phpunit --debug --verbose --coverage-clover=/tmp/test.xml

次のエラーが発生します。

Fatal error: Class 'PHP_Token_OPEN_TAG' not found in /opt/pear/share/pear/PHP/Token/Stream.php on line 205

スタックトレースは

12. PHP_Token_Stream->scan($sourceCode = '<?php\n/**\n...') /opt/pear/share/pear/PHP/Token/Stream.php:147

ソースコードは構文的に問題ありません。

このクラスはで定義されて/opt/pear/share/pear/PHP/Token.phpいますが、見つからないようです。

4

2 に答える 2

2

私はSpl_autoload_functions()の出力をStream.php:147にダンプし、いくつかのAitocオートローダーがあることを発見しました。

この問題は、AitocMagento拡張機能が原因で発生します。

すべてのオートローダーの登録を解除するだけの機能があります。

$autoloaders = spl_autoload_functions();
if ($autoloaders and is_array($autoloaders) && !empty($autoloaders))
{
    foreach ($autoloaders as $autoloader)
    {
        spl_autoload_unregister($autoloader);
    }
}
于 2012-06-26T14:38:29.850 に答える
0

トークンパッケージまたはコードカバレッジパッケージが正しくインストール/更新されていない可能性があるため、バージョン管理/自動読み込みの問題のようです。

与える

(sudo) pear install --force --alldeps phpunit/phpunit 

試してみてください。これにより、通常、これらの「奇妙なエラー」が修正されます。

于 2012-06-26T13:08:30.530 に答える