Unit testing Yii中的PHPUnit扩展警告

Unit testing Yii中的PHPUnit扩展警告,unit-testing,yii,warnings,Unit Testing,Yii,Warnings,我正在设置单元测试以使用Yii框架。除了Yii,我的PHPUnit工作得很好。但是当我尝试测试它时,它每次都给我以下警告 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():

我正在设置单元测试以使用Yii框架。除了Yii,我的PHPUnit工作得很好。但是当我尝试测试它时,它每次都给我以下警告

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论坛上搜索了很多,也问了很多问题,但似乎什么都没找到


有人知道这个警告是什么意思吗?如何摆脱它?

受保护的/tests目录不在您的include路径中。我建议将受保护的目录从任何公共位置移动,只需将受保护的文件夹添加到include路径。因此
d:\xampp\htdocs\sms\u dev\protected\
而不是单独列出每个目录


这就是问题所在,或者该文件不存在,您必须检查您的代码。

该文件
PHPUnit\u Extensions\u Story\u TestCase.php
是软件包
PHPUnit\u Story
的一部分,可与以下软件一起安装:

pear install phpunit/PHPUnit_Story

另请参见:

带pear安装依赖项[现在pear软件包未更新,请使用composer更好地安装[/strong>]

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
之后,您可以将“phpunit”的软链接从供应商目录转到正在使用的php目录中。 这将删除与此相关的所有警告

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)

它所引用的目录是否有请求的文件?哪个测试给出了错误?否,引用中缺少该文件。任何测试都会给出相同的错误。