在 Yii 中为 PHPUnit 配置 boostrap 文件


Configure boostrap file for PHPUnit in Yii

如果我使用这个YiiPinble进行依赖注入,那么如何为phpunit配置引导程序文件?下面是给定的引导程序文件内容:

$yiit=dirname(__FILE__).'/../../../../../yii-assets/framework/yiit.php';
$config=dirname(__FILE__).'/../config/test.php';
require_once($yiit);
require_once(dirname(__FILE__).'/WebTestCase.php');
require_once(dirname(__FILE__).'/../../../components/WebApplication.php');
Yii::createApplication('WebApplication', $config)->run();

但是当我运行这个phpunit时,会发生以下错误:

Fatal error: Uncaught exception 'CHttpException' with message 'Unable to resolve
 the request "site".' in D:'xampp'htdocs'yii-assets'framework'web'CWebApplicatio
n.php:286
Stack trace:
#0 D:'xampp'htdocs'yii-assets'framework'web'CWebApplication.php(141): CWebApplic
ation->runController('')
#1 D:'xampp'htdocs'yii-assets'framework'base'CApplication.php(180): CWebApplicat
ion->processRequest()
#2 D:'xampp'htdocs'AdlugeCore'protected'modules'lead'tests'bootstrap.php(11): CA
pplication->run()
#3 D:'xampp'php'pear'PHPUnit'Util'Fileloader.php(92): include_once('D:'xampp'htd
ocs...')
#4 D:'xampp'php'pear'PHPUnit'Util'Fileloader.php(76): PHPUnit_Util_Fileloader::l
oad('D:'xampp'htdocs...')
#5 D:'xampp'php'pear'PHPUnit'TextUI'Command.php(778): PHPUnit_Util_Fileloader::c
heckAndLoad('D:'xampp'htdocs...')
#6 D:'xampp'php'pear'PHPUnit'TextUI'Command.php(606): PHPUnit_TextUI_Command->ha
ndleBootstrap('D:'xampp'htdocs...')
#7 D:'xampp'php'pear'PHPUnit'TextUI'Command.php(138): PHPUnit_TextUI_Command->ha
ndleArguments(Array)
#8 D:'xampp'php'pear'PH in D:'xampp'htdocs'yii-assets'framework'web'CWebApplicat
ion.php on line 286

你不应该在 phpunit 引导程序中运行应用程序。

尝试更改

Yii::createApplication('WebApplication', $config)->run();

Yii::createApplication('WebApplication', $config);