4

Yii フレームワークで動作するように単体テストをセットアップしています。Yii とは別に、私の PHPUnit はうまく機能します。しかし、Yii をテストしようとすると、毎回次の警告が表示されます。

Warning: include(PHPUnit_Extensions_Story_TestCase.php): failed to open stream:
No such file or directory in D:\xampp\htdocs\yii1112\framework\YiiBase.php on li
ne 423

Warning: include(): Failed opening 'PHPUnit_Extensions_Story_TestCase.php' for i
nclusion (include_path='.;D:\xampp\htdocs\sms_dev\protected\extensions\yii-mail;
D:\xampp\htdocs\sms_dev\protected\extensions\giix-components;D:\xampp\htdocs\sms
_dev\protected\components;D:\xampp\htdocs\sms_dev\protected\models;D:\xampp\php\
PEAR') in D:\xampp\htdocs\yii1112\framework\YiiBase.php on line 423

私はたくさん検索し、Yii フォーラムでも質問しましたが、何もうまくいかないようです。

この警告の意味を知っている人はいますか? どうすればそれを取り除くことができますか?

4

3 に答える 3

4

このファイルPHPUnit_Extensions_Story_TestCase.phpはパッケージの一部であり、次のPHPUnit_Story方法でインストールできます。

pear install phpunit/PHPUnit_Story

参照: PHPUnit は PHPUnit_Extensions_Story_TestCase を見つけることができません。不足しているパッケージは何ですか?

于 2013-03-29T09:06:38.510 に答える
0

protected/tests ディレクトリがインクルード パスにありません。保護されたディレクトリを公開されている場所から移動し、保護されたフォルダーをインクルード パスに追加することをお勧めします。各ディレクトリを個別にリストするd:\xampp\htdocs\sms_dev\protected\代わりに。

これが問題であるか、ファイルが存在しないため、コードを確認する必要があります。

于 2012-12-04T19:25:13.440 に答える
0

pear のインストールの依存関係を使用 [現在、pear パッケージは更新されず、composer を使用してインストールする方が適切です]

sudo pear channel-discover pear.phpunit.de
sudo pear install phpunit/PHPUnit_Story
sudo pear install phpunit/PHP_Selenium

composer で phpunit をインストールすると、これらのエラーは発生しません。

ステップ 1: プロジェクト ルートに composer.json ファイルを作成します。

{
    "require-dev": {
        "phpunit/phpunit": "4.6.*",
        "phpunit/phpunit-selenium": ">=1.4",
        "phpunit/dbunit": ">=1.3",
        "phpunit/phpunit-story": "*",
        "phpunit/php-invoker": "*"
    },
    "autoload": {
        "psr-0": {"": "src"}
    },
    "config": {
        "bin-dir": "bin/"
    }
}

ステップ 2: 以下を使用して composer をプロジェクトにインストールします。

curl -sS https://getcomposer.org/installer | php

composer が実行可能であることを確認します。

chmod +x composer.phar

composer に依存関係をインストールさせます。

./composer.phar install --dev

プロジェクト固有の phpunit バージョンがインストールされていることを確認します。

bin/phpunit --version

上記の指定はソフトリンクです

ls -la bin/phpunit
bin/phpunit -> ../vendor/phpunit/phpunit/phpunit

その後、ベンダーディレクトリから使用中のphpのディレクトリに「phpunit」のソフトリンクを作成できます。これにより、関連するすべての警告が削除されます

PHP Warning:  include(classes/PHPUnit_Extensions_Story_TestCase.php)
PHP Warning:  include(): Failed opening 'classes/PHPUnit_Extensions_Story_TestCase.php' 
PHP Warning:  include(classes/Composer\Autoload\ClassLoader.php)
于 2015-04-27T13:01:00.500 に答える