【问题标题】:How to run php unit tests in Yii 1.1如何在 Yii 1.1 中运行 php 单元测试
【发布时间】: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


【解决方案1】:

看起来您已经在配置中配置了YiiDebugToolbarRoute。 这仅在 Web 环境中有用,并在此处引起问题。

从测试 ENV 中的应用程序配置中删除日志记录配置。

【讨论】:

    猜你喜欢
    • 2013-08-03
    • 1970-01-01
    • 1970-01-01
    • 2014-03-14
    • 1970-01-01
    • 2012-06-15
    • 1970-01-01
    • 2014-03-14
    • 2013-09-28
    相关资源
    最近更新 更多