【发布时间】:2015-03-03 14:32:58
【问题描述】:
请帮忙。我已经在这几天了。
PHPUnit 版本:4.4.0
每当我尝试运行单元测试时,都会收到此错误:
PHP 致命错误:未捕获的异常“CException”带有消息“CHttpRequest 无法确定请求 URI。”在 /var/www/framework/web/CHttpRequest.php:519
我的引导文件:
// change the following paths if necessary
set_include_path(get_include_path() . PATH_SEPARATOR . '/var/www/protected/config/vendor/phpunit/phpunit-selenium');
$yiit=dirname(__FILE__).'/../../framework/yiit.php';
$config=dirname(__FILE__).'/../config/test.php';
require_once($yiit);
require_once(dirname(__FILE__).'/WebTestCase.php');
Yii::createWebApplication($config);
错误堆栈跟踪:
#0 /vagrant/black-box/framework/web/CHttpRequest.php(431): CHttpRequest->getRequestUri()
#1 /vagrant/black-box/framework/web/CUrlManager.php(364): CHttpRequest->getPathInfo()
#2 /vagrant/black-box/protected/extensions/yii-debug-toolbar/YiiDebugToolbarRoute.php(113): CUrlManager->parseUrl(Object(CHttpRequest))
#3 /vagrant/black-box/framework/logging/CLogRouter.php(66): YiiDebugToolbarRoute->init()
#4 /vagrant/black-box/framework/base/CModule.php(387): CLogRouter->init()
#5 /vagrant/black-box/framework/base/CModule.php(523): CModule->getComponent('log')
#6 /vagrant/black-box/framework/base/CApplication.php(164): CModule->preloadComponents()
#7 /vagrant/black-box/framework/YiiBase.php(125): CApplication->__construct('/vagrant/black-...')
#8 /vagrant/black-box/framework/YiiBase.php(98): YiiBase::createApplication('CWebApplication', '/vagrant/blac in /vagrant/black-box/framework/web/CHttpRequest.php on line 519
【问题讨论】:
-
1. PHPUnit 4 不适用于 Yii 1,请尝试 PHPUnit 3.7 2. 你是如何运行测试的? 3. 错误的堆栈跟踪是什么?
-
@bridgeburner 你想只运行单元测试还是单元和功能测试(使用 selenium)?在此处查看有关此主题的类似问题stackoverflow.com/search?q=[yii]+selenium
-
@bridgeburner 你能运行 yii 安装包(演示/博客示例应用程序)中包含的单元测试吗?
-
@cebe 我已经降级到 phpunit 3.7.32,但我仍然收到上面列出的错误。我通过调用 phpunit.phar unit/MyTestClass.php 来运行测试。错误的堆栈跟踪:pastebin.com/zdbPjEmT
标签: php unit-testing yii