如果我使用 this YiiPimple 用于依赖注入(inject),那么如何为 phpunit 配置引导文件? 下面给定的 Bootstrap 文件内容:
$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);
关于php - 在 Yii 中为 PHPUnit 配置 boostrap 文件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22833385/