1

いくつかの PHPUnit テストを作成した Symfony2 プロジェクトを開発しています。

それらのいくつか (大量のメモリ量を含むもの) では、エラー メッセージが表示されます。

1 件の失敗がありました:

1) GapCoach\Bundle\Tests\Controller\ClientControllerTest::testDesaClient

致命的なエラー: 379 行目の /usr/share/php/PHPUnit/Util/GlobalState.php の未定義関数 file_iterator_autoload() の呼び出し

PHPUnit の最新バージョンをインストールしましたが、file_iterator_autoload関数は実際に存在し、アクセス可能です。

このエラーをどのように解決できますか?

4

2 に答える 2

3

何らかの理由で PHP 5.3.3 以降 (PHPUnit 3.7が必要)にすぐにアップグレードできないマシンを使用している場合は、パッケージをダウングレードすることでこのエラーを修正できます。

pear list -a次のようなものを生成する必要があります。

Installed packages, channel pear.phpunit.de:
============================================
Package            Version State
File_Iterator      1.3.3   stable
PHPUnit            3.6.12  stable
PHPUnit_MockObject 1.1.1   stable
PHP_CodeCoverage   1.1.4   stable
PHP_Timer          1.0.4   stable
PHP_TokenStream    1.1.4   stable
Text_Template      1.1.2   stable

File_Iterator の 1.3.2 バージョン、Text_Template の 1.1.1 バージョン、および PHP_Timer の 1.0.3 バージョンが必要です。

したがって、古いものをアンインストールします。

pear uninstall phpunit/PHPUnit
pear uninstall phpunit/PHPUnit_MockObject
pear uninstall phpunit/PHP_CodeCoverage
pear uninstall phpunit/File_Iterator
pear uninstall phpunit/PHP_Timer
pear uninstall phpunit/PHP_TokenStream
pear uninstall phpunit/Text_Template

phpunit パッケージがインストールされていないことを確認できるはずです。

pear list -a
Installed packages, channel pear.phpunit.de:
============================================
(no packages installed)

最初にこれらの依存バージョンを明示的にインストールします。

pear install phpunit/File_Iterator-1.3.2
pear install phpunit/PHP_Timer-1.0.3
pear install phpunit/Text_Template-1.1.1

次にPHPUnit:

pear install --alldeps phpunit/PHPUnit

pear list -a
Installed packages, channel pear.phpunit.de:
============================================
Package            Version State
File_Iterator      1.3.2   stable
PHPUnit            3.6.12  stable
PHPUnit_MockObject 1.1.1   stable
PHP_CodeCoverage   1.1.4   stable
PHP_Invoker        1.1.2   stable
PHP_Timer          1.0.3   stable
PHP_TokenStream    1.1.4   stable
Text_Template      1.1.1   stable

すべてが今すぐ動作するはずです:)

于 2013-03-07T21:31:10.560 に答える
2

解決策は、PHPUnitをバージョン3.7.13にアップグレードすることでした。

于 2013-01-16T14:30:01.157 に答える