1

Agg というプラグインでモデルごとに個別のテストを実行できますが、CakeTestSuiteを実行しようとするとエラーが発生します。

class ModelsTest extends CakeTestSuite
{
    public static function suite()
    {
        $suite = new CakeTestSuite('All model tests');
        $suite->addTestDirectory(TESTS . 'Case' . DS . 'Model');
        return $suite;
    }
}

そのスイートを実行すると、このエラーが生成されます。

致命的なエラー: クラス 'PHPUnit_Util_Skeleton_Test' が C:\work\zend\cake\Cake\TestSuite\CakeTestSuiteCommand.php の 77 行目に見つかりません

私は PHP 5.3.15 を使用しており、PHPUnit 3.7.12 を CakePHP 2.2.5 と共にインストールしています。

Web と CLI の両方でテストを実行すると、このエラーが発生します。

どんな助けでも大歓迎です。

アップデート:

PHPUnit の PEAR フォルダで「PHPUnit_Util_Skeleton_Test」を検索しても、見つかりません。これは私には奇妙に思えます。間違ったバージョンの PHPUnit を使用していますか? このクラスはいつ導入されましたか?

アップデート:

このクラスは PHPUnit 3.7.x では使用されなくなったようで、CakePHP 2.2 は PHPUnit 3.6 でしか動作しないのではないかと考えています。pear パッケージをアンインストールしてから 3.6.x バージョンをインストールしようとしましたが、常に最新バージョンがインストールされます。PHPUnit をダウングレードする方法についてのアイデアはありますか?

アップデート:

--force を使用して古いバージョンの PHPUnit をインストールするようにダウングレードしても、問題は解決しませんでした。3.6.12、3.6.5、3.5 を試しました。3.6.12 では、PHPUnit コードのどこかで is_file() でエラーが発生しました。

4

1 に答える 1

2

PHPUnit_Util_Skeleton_TestPHPUnit 3.6 で利用可能です。 https://github.com/sebastianbergmann/phpunit/blob/3.6/PHPUnit/Util/Skeleton/Test.phpを参照してください。

すべてのphpunitパッケージをアンインストールし、phpunit 3.6を再インストールすることをお勧めします

$ pear install phpunit/phpunit-3.6.12

単一の phpunit パッケージを でダウングレードしたときに依存関係が壊れた可能性があり--force、これで修正されるはずです。

于 2013-01-16T12:40:28.553 に答える